# JButton Rahmen ausblenden



## BlubBlub (8. Aug 2011)

Hi,

ich verwende eine JToolbar und habe dort ein paar Buttons und JToogleButtons eingefügt, welche
Icons beinhalten.
Nun sieht das mit dem Rahmen nicht sonderlich toll aus die die Buttons etc. haben. 
Ich würde gern, dass wie bei der Eclipse Toolbar, die Rahmen ausgeblendet sind und nur beim Überfahren der Buttons diese wieder eingeblendet werden.
Habs mit button.setBorderPainted(false) versucht aber das zeigt keine Wirkung.


----------



## Camino (8. Aug 2011)

Also, ich hab in meiner JToolbar ein JButton mit einer Action eingefügt:

```
...
		ActionSuchePerson actionSuchePerson = new ActionSuchePerson( "", mainPanel );
		
		JButton buttonPersonSuche = new JButton( actionSuchePerson );
		buttonPersonSuche.setFocusable( false );

		add( buttonPersonSuche );
...
```

Und dann in der Action-Klasse ein Icon hinzugefügt:

```
...
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.ImageIcon;

import main.MainPanel;
import personen.view.DialogPersonSuche;



public class ActionSuchePerson extends AbstractAction {
	
	private MainPanel mainPanel;
	
	public ActionSuchePerson( String text, MainPanel mainPanel ) {
		
		this.mainPanel = mainPanel;
		
		Icon icon = new ImageIcon(getClass().getResource("/resources/images/system-search.png"));
				
		putValue(Action.NAME, text);
		putValue(Action.SHORT_DESCRIPTION, "Person suchen");
		putValue(Action.LARGE_ICON_KEY, icon);

    }

    public void actionPerformed(ActionEvent event) {
    	    	
    		new DialogPersonSuche( mainPanel );    	
    }

}
...
```
Und dann funktioniert das bei mir so, wie du es beschrieben hast: im Normalzustand kein Button-Rahmen sichtbar, sondern erst beim Überfahren mit der Maus.


----------



## Camino (8. Aug 2011)

Eine Ergänzung: Ich hab gerade festgestellt, dass dies bei mir so ist, weil ich das Nimbus-L&F eingestellt habe. Bei anderen L&F ist das evtl. nicht so.

Noch eine Ergänzung: ich hab das nun mit 
	
	
	
	





```
UIManager.getSystemLookAndFeelClassName()
```
 versucht und da klappt es bei mir mit 
	
	
	
	





```
buttonPersonSuche.setBorderPainted(false);
```

Vielleicht zeigst du mal deinen Code, damit man erkennen kann, wo ansonsten noch der Fehler liegen könnte. Welches L&F hast du denn?


----------



## Volvagia (8. Aug 2011)

Also bei mir funktioniert das unter Metal- und WindowsLookAndFeel einwandfrei, den Rahmen auszublenden.


```
private void createToolbar()
{
	JToolBar toolBar = new JToolBar();
	toolBar.setRollover(true);
	add(toolBar, BorderLayout.NORTH);
	
	toolbarSendMailsButton = new JButton(TextLdr.getProperty("mailboxSendMailsButtonText"),
			new ImageIcon(getClass().getResource("/img/mailbox/sendmail.png")));
	toolbarSendMailsButton.setBorderPainted(false);
	toolbarSendMailsButton.setFocusable(false);
	toolBar.add(toolbarSendMailsButton);
	
	toolbarPollMailsButton = new JButton(TextLdr.getProperty("mailboxPollMailsButtonText"),
			new ImageIcon(getClass().getResource("/img/mailbox/receivemail.png")));
	toolbarPollMailsButton.setFocusable(false);
	toolBar.add(toolbarPollMailsButton);

	toolbarContactListButton = new JButton(TextLdr.getProperty("mailboxContactlistButtonTitle"),
			new ImageIcon(getClass().getResource("/img/mailbox/contactlist.png")));
	toolbarContactListButton.setFocusable(false);
	//toolBar.add(toolbarContactListButton);
	
	toolbarDeleteMailsButton = new JButton(TextLdr.getProperty("mailboxDeleteMailsButtonText"),
			new ImageIcon(getClass().getResource("/img/mailbox/deletemail.png")));
	toolbarDeleteMailsButton.setFocusable(false);
	toolbarDeleteMailsButton.setEnabled(false);
	toolBar.add(toolbarDeleteMailsButton);
}
```


----------

