I've added some JToggleButtons to a JPanel with a BoxLayout. The buttons have been placed in a ButtonGroup. Now I want to toggle some attributes for the currently selected button, only while it is selected. I'm looking for something like this:
buttonGroup.addSomeListener(new SomeListener() {
@Override
public void whenToggled() {
/*set attributes for button*/
}
});
Specifically I want selected buttons to display a BevelBorder.LOWERED
as opposed to the
button.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
that the buttons in my JPanel have.
EDIT
this code doesn't print out "rollover" unless I simply change the type of button
to JButton
How can a JToggleButton listen for mouseOver in a changelistener?
public class Test {
public static void main(String[] args) {
JPanel panel = new JPanel();
final JToggleButton button = new JToggleButton();
button.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
ButtonModel mod = button.getModel();
if (mod.isRollover()) {
System.out.println("rollover");
}
}
});
JFrame frame = new JFrame();
frame.add(panel);
panel.add(button);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
} }