Hi,
habe folgendes Verhalten festgestellt:
Wenn eine Komponente von einem der Typen JToggleButton (JCheckBox, JRadioButton), JRadioButtonMenuItem, JCheckBoxMenuItem zuerst ein ItemListener hinzugefügt wird, in dem die Checkbox disabled wird und dann ein ActionListener hinzugefügt wird, wird der ActionListener nicht aufgerufen.
Code Beispiel:
Ist das ein Bug oder so gewünscht? Ich persönlich finds nicht so schön...
habe folgendes Verhalten festgestellt:
Wenn eine Komponente von einem der Typen JToggleButton (JCheckBox, JRadioButton), JRadioButtonMenuItem, JCheckBoxMenuItem zuerst ein ItemListener hinzugefügt wird, in dem die Checkbox disabled wird und dann ein ActionListener hinzugefügt wird, wird der ActionListener nicht aufgerufen.
Code Beispiel:
Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JFrame;
import javax.swing.JCheckBox;
public class Testers extends JFrame
{
private static final long serialVersionUID = 867647910472799215L;
private JCheckBox checkBox;
/**
* Launch the application.
*/
public static void main(String[] args)
{
Testers frame = new Testers();
frame.setVisible(true);
}
/**
* Create the frame.
*/
public Testers()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
checkBox = new JCheckBox("New check box");
add(checkBox, BorderLayout.CENTER);
checkBox.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange() == ItemEvent.SELECTED)
{
checkBox.setEnabled(false);
}
}
});
checkBox.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Action Performed called");
}
});
}
}
Ist das ein Bug oder so gewünscht? Ich persönlich finds nicht so schön...