//例8.10 下拉列表组件  
//本例应用程序用来创建一个下拉列表组件的窗口  
//根据选择下拉列表的菜单可以显示不同的文字,程序运行结果如图  
import java.awt.*;  
import java.awt.event.*;  
import javax.swing.*;  
public class Jlb extends JFrame  
{  
    private JComboBox lbk;  
    private JLabel label;  
    private String names[]={"北京大学","复旦大学","南京大学","武汉大学"};  
  
    public Jlb(JFrame f)  
    {  
        Container c=getContentPane();  
        c.setBackground(Color.YELLOW);  
        f.add(c);  
        lbk=new JComboBox(names);   //创建下拉列表对象  
        lbk.setMaximumRowCount(4);  //设置下拉列表所能显示的列表项的最大数目  
        lbk.setSelectedIndex(0);    //设置默认的选择项  
        lbk.setFont(new Font("Serif",Font.PLAIN,14)); //设置字体  
        lbk.addItemListener(new lbHandler());       //注册监听器  
  
        label=new JLabel("你选择了:北京大学");  
        label.setFont(new Font("Serif",Font.PLAIN,14));  
        c.add(lbk,BorderLayout.NORTH);  
        c.add(label,BorderLayout.CENTER);  
//f.setVisible(true);
    }  
  
    public static void main(String []args)  
    {  
       Jlb d=new Jlb(new JFrame("下拉窗口列表"));  
    }  
  
    private class lbHandler implements ItemListener  
    {  
        public void itemStateChanged(ItemEvent e)  
        {  
            if(e.getStateChange()==e.SELECTED)  
            {  
                label.setText("你选择了:"+names[lbk.getSelectedIndex()]);  
            }  
        }  
    }  
}  Java

解决方案 »

  1.   

    用cmd运行时会提示下面的错误。
    使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译.
    怎么办? 
      

  2.   

    http://blog.csdn.net/chenzhiqin20/article/details/4361387看看这个吧。
      

  3.   

    JComboBox 可以认为是一个vector,需要指定其元素类型。否则就报错。
    其显示的,是每个元素的toString 函数的返回值。你的代码要做如下修改:
    private JComboBox<String> lbk ; lbk=new JComboBox<String>(names);