//往子窗口中的属性下拉框添加监听器
    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,要穿的参数是这个类的公共属性,可是不知道为什么就是有错,帮忙吧~~~

解决方案 »

  1.   

    JComboBox b=m;
    试试  JComboBox b=new JComboBox(); 
         b=m; 
    可能对象就变了
      

  2.   

     为什么要写JComboBox b=new JComboBox(); 
     b=m; 
    直接给m加事件监听器不行吗?
    我觉得b的生命周期只在你的方法里,方法调用完毕局部变量就会释放
      

  3.   

    JComboBox b=new JComboBox();
         b=m;
    第一句new了一个垃圾对象,没用啊。
    实际上还是给m加监听器,如果要释放的话还是要使用组件的remove方法,不要利用java的gc,另外把具体错误说出来大家会更好的帮助你
      

  4.   

    你的问题的错误有:
    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("属性设置");
             
             }
                   
            }   
      });   } 
     
      

  5.   

    不好意思,你的 if(b.getSelectedItem().toString().equals("dp6")) 应该改为
     if(null != m.getSelectedItem()){
        if(m.getSelectedItem().toString().equals("dp6")) {
          JFrame ff1 =new JFrame("属性设置"); 
        }
      }