When trying to add years from a combobox this error shows:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at LibraryFrame$addListener.actionPerformed(LibraryFrame.java:103)
The program highlights the 'Integer anInteger = (Integer) selected;' line as the problem?
class addListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Object selected = yearCombo.getSelectedItem();
if(e.getSource() == button)
{
System.out.println("Add button clicked!");
String t = title.getText();
Integer anInteger = (Integer) selected;
int y = anInteger;
int q = Integer.parseInt(quantity.getText());
library.addItem(new LibraryItem(t,y,q));
library.printLibrary();
System.out.println("Thank You!");
}
}
}
Heres the code where yearCombo is populated:
label1 = new JLabel("Year");
yearCombo = new JComboBox();
ArrayList<Integer> countYear = new ArrayList<Integer>();
for(int y=1800; y<=2014; y++)
{
countYear.add(y);
}
for(int x=0; x < countYear.size(); x++)
{
yearCombo.addItem((countYear.get(x) + " "));
}
CODE NOW THROWING A NUMBER FORMAT EXCEPTION after changing
Integer anInteger = (Integer) selected;
to
Integer anInteger = Integer.parseInt(selected.toString());