个性化阅读
专注于IT技术分析

Java JList用法

本文概述

JList类的对象表示文本项的列表。可以设置文本项列表, 以便用户可以选择一项或多项。它继承了JComponent类。

JList类声明

我们来看一下javax.swing.JList类的声明。

public class JList extends JComponent implements Scrollable, Accessible

常用的构造函数:

建设者 描述
JList() 创建一个具有空只读模型的JList。
JList(ary[] listData) 创建一个JList, 显示指定数组中的元素。
JList(ListModel<ary> dataModel) 创建一个JList, 该JList显示指定的非空模型中的元素。

常用方法:

方法 描述
Void addListSelectionListener(ListSelectionListener listener) 它用于将侦听器添加到列表, 每次选择发生更改时都会得到通知。
int getSelectedIndex() 它用于返回最小的选定单元格索引。
ListModel getModel() 它用于返回保存由JList组件显示的项目列表的数据模型。
void setListData(Object[] listData) 它用于从对象数组创建只读ListModel。

Java JList示例

import javax.swing.*;
public class ListExample
{
	 ListExample(){
	    JFrame f= new JFrame();
	    DefaultListModel<String> l1 = new DefaultListModel<>();
	      l1.addElement("Item1");
	      l1.addElement("Item2");
	      l1.addElement("Item3");
	      l1.addElement("Item4");
	      JList<String> list = new JList<>(l1);
	      list.setBounds(100, 100, 75, 75);
	      f.add(list);
	      f.setSize(400, 400);
	      f.setLayout(null);
	      f.setVisible(true);
	 }
public static void main(String args[])
    {
   new ListExample();
    }}

输出:

JAVA Jlist 1

带有ActionListener的Java JList示例

import javax.swing.*;
import java.awt.event.*;
public class ListExample
{
	 ListExample(){
	    JFrame f= new JFrame();
	    final JLabel label = new JLabel();        
	    label.setSize(500, 100);
	    JButton b=new JButton("Show");
	    b.setBounds(200, 150, 80, 30);
	    final DefaultListModel<String> l1 = new DefaultListModel<>();
	      l1.addElement("C");
	      l1.addElement("C++");
	      l1.addElement("Java");
	      l1.addElement("PHP");
	      final JList<String> list1 = new JList<>(l1);
	      list1.setBounds(100, 100, 75, 75);
	      DefaultListModel<String> l2 = new DefaultListModel<>();
	      l2.addElement("Turbo C++");
	      l2.addElement("Struts");
	      l2.addElement("Spring");
	      l2.addElement("YII");
	      final JList<String> list2 = new JList<>(l2);
	      list2.setBounds(100, 200, 75, 75);
	      f.add(list1); f.add(list2); f.add(b); f.add(label);
	      f.setSize(450, 450);
	      f.setLayout(null);
	      f.setVisible(true);
	      b.addActionListener(new ActionListener() {
	          public void actionPerformed(ActionEvent e) { 
	             String data = "";
	             if (list1.getSelectedIndex() != -1) {                     
	                data = "Programming language Selected: " + list1.getSelectedValue(); 
	                label.setText(data);
	             }
	             if(list2.getSelectedIndex() != -1){
	                data += ", FrameWork Selected: ";
	                for(Object frame :list2.getSelectedValues()){
	                   data += frame + " ";
	                }
	             }
	             label.setText(data);
	          }
	       }); 
	 }
public static void main(String args[])
    {
   new ListExample();
    }}

输出:

JAVA Jlist 2
赞(0)
未经允许不得转载:srcmini » Java JList用法

评论 抢沙发

评论前必须登录!