java中如何获取下拉列表中的选项

就是用户在下拉列表中选了一项,然后在控制台显示刚才用户选择了哪一项,书上只写了一部分代码,请问还应该怎么弄?
import java.awt.*;
import java.util.Locale;

import javax.swing.*;
import javax.swing.event.*;

public class JF extends JFrame{

JComboBox jc=new JComboBox(new mcb());
JLabel jl=new JLabel("可选的选项有:");
public JF(){
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jl);
cp.add(jc);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new JF();
}
class mcb extends AbstractListModel implements ComboBoxModel{
String selecteditem=null;
String[] itemname={"选项A","选项B","选项C","选项D","选项E"};
public void setSelectedItem(Object item){
selecteditem=(String)item;
}
@Override
public int getSize() {
// TODO Auto-generated method stub
return itemname.length;
}
@Override
public Object getElementAt(int index) {
// TODO Auto-generated method stub
return itemname[index];
}
@Override
public Object getSelectedItem() {
// TODO Auto-generated method stub
return selecteditem;
}
public int getIndex(){
for(int i=0;i<itemname.length;i++){
if(itemname[i].equals(getSelectedItem())){
return 1;
}
}
return 0;
}

}

}

我本想用System.out.print输出返回的selecteditem,但那些方法里不让我加这句啊,怎么解决

下拉列表select下面的每个option都有一个value 然后给select定义一个name属性,通过form传到后台就可以获取select下选中option的value值了。 select就是下拉列表,多个option就是下面的选项,每个option可以定义value值,获取的就是这个值,当然也可以获取选中的文字。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-23
你好,在cp.add(jc);后面,加上以下代码即可

jc.addItemListener(new ItemListener(){
@Override
public void itemStateChanged(ItemEvent e) {
System.out.println(jc.getSelectedItem().toString());
}
});本回答被网友采纳
相似回答