给JComboBox添加一个动作监听器

3

我想知道如何在JComboBox中添加ActionListener。我正在使用AWT。你能向我解释一下吗?谢谢。


你还应该学习如何使用Java API http://download.oracle.com/javase/6/docs/api/,因为像这样的一些问题可以通过少量搜索轻松回答。 - Saher Ahwal
3个回答

6
注意:在awt中没有comboBox项目,Swing中有JComboBox,它比awt的Choice更好用。请使用JComboBox。
JComboBox comboBox = new JComboBox();

comboBox.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e)
            {
                //Execute when a selection has been made

            }
        });   

或者您可以定义一个实现ActionListener接口的类,并在那里定义actionPerformed方法,一旦这样做,您就可以将该类的新实例添加到JComboBox addActionListener方法中。如果您不理解其中任何内容,请查看以下网站:http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html

2

如果你不是被限制在applet中,应当避免使用awt,而推荐使用swing或swt。

如果你使用的是java.awt中的Choice,它有一个addItemListener(ItemListener l)方法。

如果你使用swing,JComboBox有一个addActionListener方法。


在小程序中使用AWT没有任何理由。(除非你认为为MS的过时、不安全的VM提供支持是一个“理由”——我不这么认为)。 - Andrew Thompson

1

我对 AWT ComboBox 不是很了解,只有 Choice,而且 AWT 组件在上个千年的某个时候就已经默默地消失了,现在需要使用 Swing JComponents 来进行 GUI 设计。

对于 JComboBox,你可以实现 ActionListener,但如果你想/需要改变 JComboBox 本身,我认为你必须使用这个 Listener

对于 JComboBox,我建议更好的 ListenerItemListener,因为有三个重要的状态 ItemEvent.SELECTED, DESELECTED 和 ITEM_STATE_CHANGED

注意: JComboBox 有两种状态,可编辑和不可编辑。

编辑:为了清晰的思路和享受编程,请不要混淆 AWT 组件Swing JComponents。当然,在 JDK1.6_012 更多 这里这里 是可能的,但是为了获得漂亮和正确的 GUI 输出,您需要掌握许多关于 Java GUI 的技巧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接