1

私は少し立ち往生しています。これよりもはるかに大きな問題を理解することはできないので、ルーツに行き、最終的に自分の道を築き上げます!

コンボ ボックスで選択した項目を印刷できません。現在、次の項目がありますActionListener

box.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent evt) {
        myBox(evt);
    }
});

...

protected void myBox(ActionEvent evt)
{
    if(myBoxName.getSelectedItem().toString() != null)
    System.out.println(myBoxName.getSelectedItem().toString());
}

選択したアイテムを変更するたびに、これがコンソールに出力されることを期待していますが、そうではありません。これはとても簡単なはずです!

ありがとう

4

1 に答える 1

4

私はちょうどあなたのコードを試してみましたが、うまくいきます。選択を変更するたびに、選択したテキストが に書き込まれSystem.outます。

変更したのは のチェックだけでした。代わりmyBoxName.getSelectedItem().toString() != nullに をチェックしmyBoxName.getSelectedItem() != nullます。ただし、これは問題とは関係ありません。

public class ComboBoxTest {
    private JComboBox comboBox = new JComboBox(
          new DefaultComboBoxModel(new String[] { "Test1", "Test2", "Test3" }));

    public ComboBoxTest() {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setSize(200, 100);

        comboBox.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                myBox(evt);
            }
        });

        frame.getContentPane().add(comboBox);
        frame.setVisible(true);
    }

    protected void myBox(ActionEvent evt) {
        if (comboBox.getSelectedItem() != null) {
            System.out.println(comboBox.getSelectedItem().toString());
        }
    }
}
于 2010-10-26T14:34:53.307 に答える