package view;
/*
 *  * 
 */
import java.awt.event.*;
import javax.swing.*;public class Jcombobrname extends JPanel{ private JComboBox jcbbr;
private JLabel label;
private String cboxbrname=new String("no click");
private JPanel panel;

public Jcombobrname()
{
label=new JLabel("户型");
jcbbr=new JComboBox();
jcbbr.addItem("请选择");
jcbbr.addItem("一室");
jcbbr.addItem("二室");
jcbbr.addItem("三室");
jcbbr.addItem("多室");
jcbbr.addItem("别墅");

jcbbr.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e)
{
cboxbrname=(String)jcbbr.getSelectedItem();
System.out.println("actionListener"+cboxbrname);
}
});
panel=new JPanel();
panel.add(label);
panel.add(jcbbr);
}
public JPanel getbrpanel()
{
return panel;
}
public String getbroomname()
{
System.out.println(cboxbrname);
return cboxbrname;
}
}为什么内部类actionPerformed方法没有改变cboxbrname,大家帮忙看看应该怎么改,初学JAVA!多谢多谢

解决方案 »

  1.   

    点下拉框选择后, getbroomname()方法返回的值一直是no click
      

  2.   

    jcbbr.addActionListener(new ActionListener(){这句应该不是用addActionListener吧,这个应该是用于列表中对于选项条双击产生的事件,试下addItemListener
      

  3.   

    改成ADDITEMLISTENER也不行,为什么cboxbrname=(String)jcbbr.getSelectedItem();做了赋值,到了外围却还是没改变呢?