参考资料:
问题的产生:
在看JComboBox组件的监听事件时,运行讲解到的实例(增加了几个输出语句来跟踪它的反应)碰到下面的问题:
1, JComboBox组件在添加了ActionListener和ItemListener监听器时, 两个监听器都对JComboBox值的改变做出了相应的操作。
2, 尤其是ActionListener的事件处理,不管怎么样都始终执行了两次。。。。
(1)运行下面的程序代码:
package org.forfan06.jcomboboxdemo;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
class MyComboBox implements ActionListener, ItemListener{
private JFrame jframe = new JFrame("Welcome to my blog");
private Container container = jframe.getContentPane();
private JComboBox jcb1 = null;
private JLabel label = new JLabel("www.csnd.net");
private String fontSize[] = {"10", "12", "14", "16", "18", "20", "22", "24", "26", "48", "72"};
public MyComboBox(){
this.jframe.setLayout(new GridLayout(2, 1));
this.jcb