📅  最后修改于: 2023-12-03 15:15:55.446000             🧑  作者: Mango
Java AWT List列表是一种用户界面组件,用于显示一系列项目并允许用户从中选择一个或多个项目。它可以像单选按钮或复选框一样使用,但是相比于它们,List控件提供了更多的选项,例如允许用户选择多个项,可以滚动长列表等。在本文中,我们将深入了解如何在Java应用程序中使用AWT List控件。
创建List控件必须实例化一个java.awt.List类。它有两个构造函数,一个是不带参数的构造函数,另一个是带字符串数组参数的构造函数。下面是两种构造函数的示例:
List list1 = new List(); //不带参数的构造函数
String[] items = {"Item 1", "Item 2", "Item 3"};
List list2 = new List(items); //带字符串数组参数的构造函数
向已创建的List控件添加项,我们可以使用addItem()方法。该方法可以接受一个字符串类型的参数作为项的文本。例如:
list1.addItem("Item 1");
list1.addItem("Item 2");
list1.addItem("Item 3");
我们可以使用getSelectedIndex()方法获取当前选择的项的索引,或使用getSelectedItem()方法获取当前选定项目的文本。如果allowMultipleMode设置为true,则可以使用getSelectedIndexes()和getSelectedItems()方法分别获取选定项目的索引和文本列表。
int selectedIndex = list1.getSelectedIndex();
String selectedItem = list1.getSelectedItem();
int[] selectedIndexes = list1.getSelectedIndexes();
String[] selectedItems = list1.getSelectedItems();
默认情况下,List控件只允许选中一个项目。但是,我们可以设置它允许选中多个项目。通过调用setMultipleMode(true)方法,可以启用列表的多项选择。如果allowMultipleMode设置为false,则只能选择一个项目。
list1.setMultipleMode(true);
我们可以使用setVisibleRowCount()方法设置List控件中的可见行数。此设置将确定列表的高度并控制列表是否实现滚动。
list1.setVisibleRowCount(5);
当用户单击List控件中的项时,我们可以使用ItemListener接口添加事件处理程序。这个接口只有一个方法itemStateChanged(),每次选中一个项时都会触发该方法。我们可以在此方法内执行相应的代码。
list1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
//执行代码
}
});
import java.awt.*;
import java.awt.event.*;
public class ListDemo extends Frame {
List list;
public ListDemo() {
setLayout(new FlowLayout());
list = new List(5, true);
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
list.add("Item 4");
list.add("Item 5");
add(list);
Label label = new Label("Selected Item");
add(label);
TextField textField = new TextField(20);
add(textField);
list.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
String selectedItem = list.getSelectedItem();
textField.setText(selectedItem);
}
});
setTitle("List Demo");
setSize(300, 200);
setVisible(true);
}
public static void main(String args[]) {
new ListDemo();
}
}
以上是一个简单的Java AWT List控件的使用示例,包括创建列表、添加选项、获取选中项、设置允许多选、设置行数和添加事件处理程序。