//例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
//本例应用程序用来创建一个下拉列表组件的窗口
//根据选择下拉列表的菜单可以显示不同的文字,程序运行结果如图
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
使用了未经检查或不安全的操作呢?请使用-Xlint:unchecked 重新编译.
怎么办?
其显示的,是每个元素的toString 函数的返回值。你的代码要做如下修改:
private JComboBox<String> lbk ; lbk=new JComboBox<String>(names);