Goeieavond!
Ik ben bezig met het maken van een eigen applicatie, en om de Toolbar samen te stellen heb ik een stel eigen knoppen (gebaseerd op gewone JButtons) 'gemaakt'. Ik heb dus een nieuwe klasse 'ToolBarButton extends JButton'.
1 van de veranderingen die ik wilde maken t.o.v. een 'gewone' JButton, is dat er geen border om de button zit, en dat er een zwarte "LineBorder" verschijnt als je er met de muis overheen gaat. Nu heb ik dus dit:
Dit compiled allemaal goed, echter, als ik het programma start, dan verschijnt er een 'normale' (lelijke) Swing-border! Pas als ik er met de muis overheen ga, dan verschijnt de 'goede' border! Waarschijnlijk zou ik de "setBorder" aan moeten roepen in de methode paint (of, in dit geval paintComponent), maar dat loopt ook helemaal de soep in (de buttons verschijnen niet, paintComponent mag je eigenlijk niet aanroepen?).
Weet iemand een oplossing voor mijn probleem?
Ik ben bezig met het maken van een eigen applicatie, en om de Toolbar samen te stellen heb ik een stel eigen knoppen (gebaseerd op gewone JButtons) 'gemaakt'. Ik heb dus een nieuwe klasse 'ToolBarButton extends JButton'.
1 van de veranderingen die ik wilde maken t.o.v. een 'gewone' JButton, is dat er geen border om de button zit, en dat er een zwarte "LineBorder" verschijnt als je er met de muis overheen gaat. Nu heb ik dus dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| ToolBarButton(Action pAction){
super(pAction);
this.addMouseListener(this);
this.setBorder(BorderFactory.createEmptyBorder(1,1,1,1));
}
public void mouseEntered(MouseEvent me){
JButton source;
source = (JButton) me.getSource();
source.setBackground(Color.blue);
source.setBorder(BorderFactory.createLineBorder(Color.black, 1));
} |
Dit compiled allemaal goed, echter, als ik het programma start, dan verschijnt er een 'normale' (lelijke) Swing-border! Pas als ik er met de muis overheen ga, dan verschijnt de 'goede' border! Waarschijnlijk zou ik de "setBorder" aan moeten roepen in de methode paint (of, in dit geval paintComponent), maar dat loopt ook helemaal de soep in (de buttons verschijnen niet, paintComponent mag je eigenlijk niet aanroepen?).
Weet iemand een oplossing voor mijn probleem?