GUI Project in Java I cant figure out these errors ComboBoxD
GUI Project in Java
I can\'t figure out these errors:
ComboBoxDemo.java:39: <anonymous ComboBoxDemo$1> is not abstract and does not override abstract method itemStateChanged(java.awt.event.ItemEvent) in java.awt.event.ItemListener
 jcbo.addItemListener(new ItemListener() {
 ^
 ComboBoxDemo.java:40: method does not override or implement a method from a supertype
 @Override
 ^
 2 errors
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ComboBoxDemo extends JFrame {
private String[] songTitles = {\" \", \" \", \" \"};
private ImageIcon[] songImage = {
new ImageIcon(\" \")
};
private String[] songDescription = new String [3];
private DescriptionPanel descriptionPanel = new DescriptionPanel();
private JComboBox jcbo = new JComboBox(songTitles);
public static void main(String[] args) {
ComboBoxDemo frame = new ComboBoxDemo();
frame.pack();
frame.setTitle(\" \");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public ComboBoxDemo() {
songDescription[0] = \" \";
songDescription[1] = \" \";
songDescription[2] = \" \";
setDisplay(0);
add(jcbo, BorderLayout.NORTH);
add(descriptionPanel, BorderLayout.CENTER);
jcbo.addItemListener(new ItemListener() {
@Override
public void itemSongChanged(ItemEvent e) {
setDisplay(jcbo.getSelectedIndex());
}
});
}
public void setDisplay(int index) {
descriptionPanel.setTitle(songTitles[index]);
descriptionPanel.setImageIcon(songImage[index]);
descriptionPanel.setDescription(songDescription[index]);
}
}
Solution
Hi,
I have updated the code and fixed the issues and highlighted the code changes below
-
import java.awt.*;
 import java.awt.event.*;
import javax.swing.*;
 
 public class ComboBoxDemo extends JFrame {
 
 private String[] songTitles = {\" \", \" \", \" \"};
 
 private ImageIcon[] songImage = {
 new ImageIcon(\" \")
 };
   
 private String[] songDescription = new String [3];
   
 private DescriptionPanel descriptionPanel = new DescriptionPanel();
   
 private JComboBox jcbo = new JComboBox(songTitles);
   
 public static void main(String[] args) {
 ComboBoxDemo frame = new ComboBoxDemo();
 
 frame.pack();
 frame.setTitle(\" \");
 frame.setLocationRelativeTo(null);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setVisible(true);
 }
 
 public ComboBoxDemo() {
 songDescription[0] = \" \";
 songDescription[1] = \" \";
 songDescription[2] = \" \";
   
 setDisplay(0);
   
 add(jcbo, BorderLayout.NORTH);
 add(descriptionPanel, BorderLayout.CENTER);
   
 jcbo.addItemListener(new ItemListener() {
 
 public void itemStateChanged(ItemEvent e) {
 setDisplay(jcbo.getSelectedIndex());
 
 }
});
 }
 
 public void setDisplay(int index) {
 descriptionPanel.setTitle(songTitles[index]);
 descriptionPanel.setImageIcon(songImage[index]);
 descriptionPanel.setDescription(songDescription[index]);
 }
 }



