//往子窗口中的属性下拉框添加监听器
public static void ggjgi (JComboBox m){
JComboBox b=new JComboBox();
b=m;
b.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
if(b.getSelectedItem().toString().equals("dp6"))
{
JFrame ff1 =new JFrame("属性设置");
}
}
}); }
这是一个关于设置下拉框的点击事件
当点击某些特定的选项时,会弹出一个窗口!
可是不知道为什么就是有错
JComboBox m,要穿的参数是这个类的公共属性,可是不知道为什么就是有错,帮忙吧~~~
public static void ggjgi (JComboBox m){
JComboBox b=new JComboBox();
b=m;
b.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
if(b.getSelectedItem().toString().equals("dp6"))
{
JFrame ff1 =new JFrame("属性设置");
}
}
}); }
这是一个关于设置下拉框的点击事件
当点击某些特定的选项时,会弹出一个窗口!
可是不知道为什么就是有错
JComboBox m,要穿的参数是这个类的公共属性,可是不知道为什么就是有错,帮忙吧~~~
试试 JComboBox b=new JComboBox();
b=m;
可能对象就变了
b=m;
直接给m加事件监听器不行吗?
我觉得b的生命周期只在你的方法里,方法调用完毕局部变量就会释放
b=m;
第一句new了一个垃圾对象,没用啊。
实际上还是给m加监听器,如果要释放的话还是要使用组件的remove方法,不要利用java的gc,另外把具体错误说出来大家会更好的帮助你
1.可能是在传进来的JComboBox m对象是null的.
你检查下你的代码,在哪儿有可能没有给他附过值
2.你加事件监听的对象不正确.
我这样给你改虽然不能出现错误,但是还是不能解决根本问题.所以,你最好原代码贴上来
public static void ggjgi (JComboBox m){
// JComboBox b=new JComboBox();
// b=m;
if(null == m){
// NULL判断
m = new JComboBox();
}
// 注意:此处要把b.addActionListener换成m.addActionListener
// 否则你永远都是在给b对象加事件监听,而与m对象无关
m.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
if(b.getSelectedItem().toString().equals("dp6"))
{
JFrame ff1 =new JFrame("属性设置");
}
}
}); }
if(null != m.getSelectedItem()){
if(m.getSelectedItem().toString().equals("dp6")) {
JFrame ff1 =new JFrame("属性设置");
}
}