JComboBox ItemListener错误

时间:2015-11-13 14:11:46

标签: java jcombobox

查看将事件侦听器添加到JComboBoxes。 我已经完成了通常的窗口等。创建了一个新的JComboBox,然后创建了.addItem()岛。 然后我尝试在我新创建的组合框上使用.addItemListener(this) 但这是一个问题,它提到了抽象类,这意味着我没有做过什么。任何人都可以看到我出错了吗?

我在单个条目上尝试了.addItemListener(this),但是没有用。我试过在构造函数的内部和外部声明JComboBox。

值得注意的是方法itemStateChange来自书中,我不得不围绕该块构建。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ComboBoxPractice extends JFrame implements ItemListener
{
    //create islands          
    JLabel selection = new JLabel();       
    JComboBox islands = new JComboBox();  
    
    public ComboBoxPractice()
    {
    // set a window
        super("action");
        setSize(300,100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    // set a container
        Container content = getContentPane();
        FlowLayout layout = new FlowLayout();
        content.setLayout(layout);
    //add item listener   
        islands.addItemListener(this);
    // add items to list
        islands.addItem("Corfu");
        islands.addItem("Crete");
        islands.addItem("Canada");
        islands.addItem("Canary Islands");
    //add island and label to container  
        content.add(islands);   
        content.add(selection);
    }
    
    public void itemStateChange(ItemEvent event)
    {
    String choice = event.getItem().toString();
    selection.setText("chose" + choice);
    }
}

The exact error

1 个答案:

答案 0 :(得分:1)

@Override
public void itemStateChanged(ItemEvent event)
{
    String choice = event.getItem().toString();
    selection.setText("chose" + choice);
}

尝试将其更改为。顶部有@Override。这样就不会给我带来错误并且有效。