列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择。
列表
列表(JList)在界面中表现为列表框,是JList类或它的子类的对象。程序可以在列表框中加入多个文本选择项条目。列表事件的事件源有两种:
一是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,注册监视器的方法是addActionListener(),接口方法是actionPerformed(ActionEvent e)。
二是鼠标单击某个选项:单击选项是选项事件,与选项事件相关的接口是ListSelectionListener,注册监视器的方法是addListSelectionListener,接口方法是valueChanged(ListSelectionEvent e)。
JList 类的常用构造方法:
JList类的常用方法:
列表可以添加滚动条,列表添加滚动条的方法是先创建列表,然后再创建一个JScrollPane滚动面板对象,在创建滚动面板对象时指定列表。以下代码示意为列表list2添加滚动条:
JScrollPane jsp = new JScrollPane(list2);
【例】小应用程序有两个列表,第一个列表只允许单选,第二个列表允许多选。
import java.applet.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; class MyWindow extends JFrame implements ListSelectionListener{ JList list1,list2; String news[]={"人民日报","新民晚报","浙江日报","文汇报"}; String sports[]={"足球","排球","乒乓球","篮球"}; JTextArea text; MyWindow(String s){ super(s); Container con = getContentPane(); con.setBackground(Color.BLUE); con.setLayout(new GridLayout(2,2)); con.setSize(200,500); list1 = new JList(news); list1.setVisibleRowCount(3); list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list1.addListSelectionListener(this); list2 = new JList(sports); list2.setVisibleRowCount(2); list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); list2.addListSelectionListener(this); con.add(list1); con.add(list2); text= new JTextArea(10,20); con.add(text); this.setVisible(true); this.pack(); } public void valueChanged(ListSelectionEvent e){// 每当选择值发生更改时调用 if(e.getSource()==list1){ text.setText(null); Object listValue = ((JList) e.getSource()).getSelectedValue(); String seleName = listValue.toString(); for(int i=0;i<news.length;i++) if(news[i].equals(seleName)){ text.append(seleName+ "被选中\n"); } } else if(e.getSource()==list2){ text.setText(null); int tempList[] =list2.getSelectedIndices(); for(int i=0;i<tempList.length;i++) text.append(sports[tempList[i]] + "被选中\n"); } } } public class Example6_3 extends Applet{ MyWindow myWin = new MyWindow("列表示例"); }
组合框
组合框(JComboBox)是文本框和列表的组合,可以在文本框中输入选项,也可以单击下拉按钮从显示的列表中进行选择。
组合框的常用构造方法:
组合框的其他常用方法有以下几个:
在JComboBox对象上发生事件分为两类。一是用户选定项目,事件响应程序获取用户所选的项目。二是用户输入项目后按回车键,事件响应程序读取用户的输入。第一类事件的接口是ItemListener;第二类事件是输入事件,接口是ActionListener。
【例】一个说明组合框用法的应用程序。程序中声明的组合框子类实现ItemLister接口和ActionListener接口。组合框子类的窗口中设置了一个文本框和一个组合框,组合框中有三个选择。实现接口的监视方法将组合框的选择结果在文本框中显示。
public class Example6_4{ public static void main(String args[]){ ComboBoxDemo mycomboBoxGUI = new ComboBoxDemo(); } } class ComboBoxDemo extends JFrame implements ActionListener,ItemListener{ public static final int Width = 350; public static final int Height = 150; String proList[] = { "踢足球","打篮球","打排球" }; JTextField text; JComboBox comboBox; public ComboBoxDemo(){ setSize(Width,Height); setTitle("组合框使用示意程序"); Container conPane = getContentPane(); conPane.setBackground(Color.BLUE); conPane.setLayout(new FlowLayout()); comboBox = new JComboBox(proList); comboBox.addActionListener(this); combobox.addItemListener(this); comboBox.setEditable(true);//响应键盘输入 conPane.add(comboBox); text = new JTextField(10); conPane.add(text); this.setVisible(true); } public void actionPerformed(ActionEvent e){ if(e.getSource()==comboBox) text.setText(comboBox.getSelectedItem().toString()); } public void itemStateChanged(ItemEvent e){ if(e.getSource()==comboBox){ text.setText(comboBox.getSelectedItem().toString()); } } }
主要内容:Listbox控件,Combobox控件列表框(Listbox)和复选框(Combobox)是 Tkinter 中两个控件,由于其非常相似,本节将它们放在一起进行介绍。 Listbox控件 首先介绍一下列表框,即 Listbox。在使用 Tkinter 进行 GUI 编程的过程中,如果需要用户自己进行选择时就可以使用列表框控件。列表框中的选项可以是多个条目,也可以是单个唯一条目,但常用于多个条目。 下面对列表框控件(Listbox)的常
本文向大家介绍使用Java编写GUI对话框的教程,包括了使用Java编写GUI对话框的教程的使用技巧和注意事项,需要的朋友参考一下 对话框是为了人机对话过程提供交互模式的工具。应用程序通过对话框,或给用户提供信息,或从用户获得信息。对话框是一个临时窗口,可以在其中放置用于得到用户输入的控件。在Swing中,有两个对话框类,它们是JDialog类和JOptionPane类。JDialog类提供构造并
本文向大家介绍C#列表框、复选列表框、组合框的用法实例,包括了C#列表框、复选列表框、组合框的用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#列表框、复选列表框、组合框的用法。分享给大家供大家参考。具体分析如下: 功能实现效果如下图所示: 实现代码: 1、声明相关变量存储专业、课程设置及相关信息: 2、在Form1类中自定义函数bool checkGR()检查学生
本文向大家介绍Android编程UI设计之GridView和ImageView的用法,包括了Android编程UI设计之GridView和ImageView的用法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程UI设计之GridView和ImageView的用法。分享给大家供大家参考,具体如下: GridView: A view that shows items in t
给出输出 当所需输出为
问题内容: 如何为手机创建J2ME应用程序,其GUI与您在Java游戏中看到的菜单类似?我已经尝试过使用Netbeans的MIDlet,但是它们一次只显示一个GUI元素。 (文本框,选择项,登录名等) 您通常在哪个Java IDE中设计这些GUI?Netbeans还是Eclipse?IntelliJ IDEA也可用于此吗? 我是否必须编写/获取一个库,该库通过位图函数将GUI控件绘制到屏幕上,并保