0

在我的程序中,我有几个 JComboBoxes 显示自行车的不同属性。我目前已对其进行了设置,以便用户可以单击名为 saveBike 的按钮并将属性保存到 RandomAccessFile。我为此按钮制作了自己的侦听器并将其添加到 JButton。我的监听器所做的只是打开一个 JFileChooser 并允许用户使用他们选择的名称保存文件。我希望我的程序做的是在用户使用给定名称保存属性后,我希望禁用 saveBike 以便用户无法继续单击它。但是,如果用户通过在 ComboBox 中选择不同的内容来更改其中一个属性,我希望再次启用 saveBike。我以为我可以将此代码放在侦听器中,但我不知道如何查看组合框中是否选择了某个项目。我的问题是,

4

1 回答 1

0

这个例子解释了如何使用 anItemListener检查一个项目何时被选中,如果是则启用一个按钮。

public static void main(String[] args) 
    {
            //elements to be shown in the combo box
        String course[] = {"", "A", "B", "C"};

        JFrame frame = new JFrame("Creating a JComboBox Component");
        JPanel panel = new JPanel();

        JComboBox combo = new JComboBox(course);

        final JButton button = new JButton("Save");
        panel.add(combo);
        panel.add(button);

            //disables the button at the start
        button.setEnabled(false);
        frame.add(panel);

        combo.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent ie) {
                            //enables the button when an item is selected
                button.setEnabled(true);
            }
        });

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setVisible(true);
    }
于 2013-03-03T14:44:46.890 回答