java 事件监听器可以同时被两个组件监听吗?如何区分不同的组件
java 事件监听器可以同时被两个组件监听吗?怎么区分不同的组件!
比如说创建两个JComboBox对象,一个是music,一个是bcolor,如何确定事件的来源?监听器独自是一个类!
JComboBox music=new JComboBox();
music.addItem("选择背景音乐");
music.addItem("MUSIC-1");
music.addItem("MUSIC-2");
music.addItemListener(new itemListener());
JComboBox bgcolor=new JComboBox();
bgcolor.addItem("背景颜色");
bgcolor.addItem("默认颜色");
bgcolor.addItem("红 色");
bgcolor.addItem("蓝 色");
bgcolor.addItemListener(new itemListener());
------解决方案--------------------
比如说创建两个JComboBox对象,一个是music,一个是bcolor,如何确定事件的来源?监听器独自是一个类!
JComboBox music=new JComboBox();
music.addItem("选择背景音乐");
music.addItem("MUSIC-1");
music.addItem("MUSIC-2");
music.addItemListener(new itemListener());
JComboBox bgcolor=new JComboBox();
bgcolor.addItem("背景颜色");
bgcolor.addItem("默认颜色");
bgcolor.addItem("红 色");
bgcolor.addItem("蓝 色");
bgcolor.addItemListener(new itemListener());
------解决方案--------------------
- Java code
music.setName("music"); bgcolor.setName("bgcolor"); public void itemStateChanged(ItemEvent e){ JComboBox combo = (JComboBox)e.getItemSelectable(); if("music".equals(combo.getName()){ ... } if("bgcolor".equals(combo.getName()){ ... } }