What method is used to return the selection chosen by the user?
JPanel ageSelection = new JPanel();
JLabel age = new JLabel("Age:");
ArrayList<Integer> ageList = new ArrayList<Integer>();
for (int i = 1; i <= 100; ++i) {
ageList.add(i);
}
DefaultComboBoxModel<Integer> modelAge = new DefaultComboBoxModel<Integer>();
for (Integer i : ageList) {
modelAge.addElement(i);
}
JComboBox<Integer> ageEntries = new JComboBox<Integer>();
ageEntries.setModel(modelAge);
ageEntries.addActionListener(new putInTextListener());
ageSelection.add(age);
ageSelection.add(ageEntries);
class putInTextListener implements ActionListener {
public void actionPerformed (ActionEvent event) {
ageEntries.getSelectedItem();
}
}
When the last line is added (ageEntries.getSelectedItem();), I get an error:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
Any ideas?
Edited Code:
class putInAgeListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Object myAge = ageEntries.getSelectedItem();
String myAgeData = myAge.toString();
int i = Integer.parseInt(myAgeData);
System.out.print(i);
}
}
1) this statement is empty and probably you want to get
Integer / Object / Stringvalue from currently selectedItem2) better would be use ItemListener for JComboBox, rather than ActionListener, notice
ItemListenerfired eventsSELECTED/DESELECTED, always twiceEDIT
I haven’t (and don’t want too) JDK7,