AWT List类

1 什么是Java AWT List

List 表示文本项的列表。该列表可以配置为用户可以选择一项或多项。

2 Java AWT List的语法

public class List
   extends Component
      implements ItemSelectable, Accessible

3 Java AWT List的构造方法

构造方法 描述
List() 创建一个新的滚动列表。
List(int rows) 创建一个用指定数量的可见行初始化的新滚动列表。
List(int rows, boolean multipleMode) 创建一个初始化为显示指定行数的新滚动列表。

4 Java AWT List的方法

方法 描述
void add(String item) 将指定的项目添加到滚动列表的末尾。
void add(String item, int index) 将指定项添加到滚动列表中索引指示的位置。
void addActionListener(ActionListener l) 添加指定的动作侦听器以从此列表接收动作事件。
void addItem(String item) 已弃用。替换为 add(String)。
void addItem(String item, int index) 已弃用。替换为 add(String, int)。
void addItemListener(ItemListener l) 添加指定的项目侦听器以从此列表接收项目事件。
void addNotify() 为列表创建对等点。
boolean allowsMultipleSelections() 已弃用。从 JDK 1.1 版开始,由 isMultipleMode() 取代。
void clear() 已弃用。从 JDK 1.1 版开始,由 removeAll() 取代。
int countItems() 已弃用。从 JDK 1.1 版开始,由 getItemCount() 取代。
void delItem(int position) 已弃用。替换为 remove(String) 和 remove(int)。
void delItems(int start, int end) 已弃用。从 JDK 1.1 版开始,将来不再公开使用。此方法预计仅作为包私有方法保留。
void deselect(int index) 取消选择指定索引处的项目。
AccessibleContext getAccessibleContext() 获取与此 List 关联的 AccessibleContext。
ActionListener[] getActionListeners() 返回在此List上注册的所有操作侦听器的数组。
String getItem(int index) 获取与指定索引关联的项。
int getItemCount() 获取列表中的项目数。
ItemListener[] getItemListeners() 返回在此列表上注册的所有项目侦听器的数组。
String[] getItems() 获取列表中的项目。
Dimension getMinimumSize() 确定此滚动列表的最小大小。
Dimension getMinimumSize(int rows) 获取具有指定行数的列表的最小维度。
Dimension getPreferredSize() 获取此滚动列表的首选大小。
Dimension getPreferredSize(int rows) 获取具有指定行数的列表的首选维度。
int getRows() 获取此列表中的可见行数。
int getSelectedIndex() 获取列表中所选项目的索引
int[] getSelectedIndexes() 获取列表中选定的索引
String getSelectedItem() 获取此滚动列表上的选定项
String[] getSelectedItems() 获取此滚动列表上的选定项。
Object[] getSelectedObjects() 获取对象数组中此滚动列表上的选定项。
int getVisibleIndex() 获取上次通过 makeVisible 方法显示的项的索引。
boolean isIndexSelected(int index) 确定是否选择了此滚动列表中的指定项。
boolean isMultipleMode() 确定此列表是否允许多选。
boolean isSelected(int index) 已弃用。从 JDK 1.1 版开始,由 isIndexSelected(int) 替换。
void makeVisible(int index) 使指定索引处的项目可见。
Dimension minimumSize() 已弃用。从 JDK 1.1 版开始,由 getMinimumSize() 取代。
Dimension minimumSize(int rows) 已弃用。从 JDK 1.1 版开始,由 getMinimumSize(int) 取代。
protected String paramString() 返回表示此滚动列表状态的参数字符串。
Dimension preferredSize() 已弃用。从 JDK 1.1 版开始,由 getPreferredSize() 取代。 
Dimension preferredSize(int rows) 已弃用。从 JDK 1.1 版开始,由 getPreferredSize(int) 取代。
protected void processActionEvent(ActionEvent e) 通过将它们分派到任何已注册的 ActionListener 对象来处理发生在此组件上的动作事件。
protected void processEvent(AWTEvent e) 处理此滚动列表上的事件。
protected void processItemEvent(ItemEvent e) 通过将项目事件分派到任何已注册的 ItemListener 对象来处理此列表上发生的项目事件。
void remove(int position) 从此滚动列表中删除指定位置的项目。
void remove(String item) 从列表中删除第一次出现的项目。
void removeActionListener(ActionListener l) 移除指定的动作侦听器,使其不再从该列表接收动作事件。
void removeAll() 从此列表中删除所有项目。
void removeItemListener(ItemListener l) 移除指定的项目侦听器,使其不再从该列表接收项目事件。
void removeNotify() 用新字符串替换滚动列表中指定索引处的项目。
void replaceItem(String newValue, int index) 选择滚动列表中指定索引处的项目。
void select(int index) 选择滚动列表中指定索引处的项目。
void setMultipleMode(boolean b) 设置确定此列表是否允许多选的标志。
void setMultipleSelections(boolean b) 已弃用。从 JDK 1.1 版开始,由 setMultipleMode(boolean) 取代。

5 Java AWT List的例子

让我们看一个简单的Java AWT List类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AwtControlDemo {

   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AwtControlDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showListDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("一点教程网:Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showListDemo(){                                       

      headerLabel.setText("Control in action: List"); 
      final List fruitList = new List(4,false);

      fruitList.add("Apple");
      fruitList.add("Grapes");
      fruitList.add("Mango");
      fruitList.add("Peer");

      final List vegetableList = new List(4,true);
   
      vegetableList.add("Lady Finger");
      vegetableList.add("Onion");
      vegetableList.add("Potato");
      vegetableList.add("Tomato");

      Button showButton = new Button("Show");

      showButton.addActionListener(new ActionListener() {

         public void actionPerformed(ActionEvent e) {
            String data = "Fruits Selected: " 
               + fruitList.getItem(fruitList.getSelectedIndex());
            data += ", Vegetables selected: ";
            for(String vegetable:vegetableList.getSelectedItems()){
               data += vegetable + " ";
            }
            statusLabel.setText(data);
         }
      }); 

      controlPanel.add(fruitList);
      controlPanel.add(vegetableList);
      controlPanel.add(showButton);

      mainFrame.setVisible(true);  
   }
}

输出结果为:

热门文章

优秀文章