`

列表框 JList

    博客分类:
  • java
阅读更多
package net.mindview.util;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JTextArea;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import static net.mindview.util.SwingConsole.*;

public class List extends JFrame {
	
	private String[] flavors = {
		"Chocolate", "Strawberry", "Vanilla Fudge Swirl",
		"Mint Chip", "Mocha Almond Fudge", "Rum Raisin",
		"Praline Cream", "Mud Pie"
	};
	
	private DefaultListModel lItems = new DefaultListModel();
	private JList lst = new JList(lItems);
	private JTextArea t = new JTextArea(flavors.length, 20);
	private JButton b = new JButton("Add Item");
	private int count = 0;
	private ActionListener bl = new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			if(count < flavors.length) {
				lItems.add(0, flavors[count++]);
			}else {
				b.setEnabled(false);
			}
		}
	};
	
	private ListSelectionListener ll = new ListSelectionListener() {

		@Override
		public void valueChanged(ListSelectionEvent e) {
			
			if(e.getValueIsAdjusting()) return;  
			t.setText("");
			for(Object item : lst.getSelectedValues())
				t.append(item + "\n");
		}
		
	};
	
	public List() {
		t.setEditable(false);
		setLayout(new FlowLayout());
		// Create Borders for components:
		Border brd = BorderFactory.createMatteBorder(1, 1, 2, 2, Color.BLACK);
		lst.setBorder(brd);
		t.setBorder(brd);
		// Add the first four items to the List
		for(int i = 0; i < 4; i++ ) {
			lItems.addElement(flavors[count++]);
		}
		this.add(t);
		this.add(lst);
		this.add(b);
		lst.addListSelectionListener(ll);
		b.addActionListener(bl);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		run(new List(), 250, 375);
	}

}

package net.mindview.util;
import javax.swing.*;
public class SwingConsole {
	public static void run(final JFrame f, final int width, final int height) {
		SwingUtilities.invokeLater(new Runnable(){
			public void run() {
				f.setTitle(f.getClass().getSimpleName());
				f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				f.setSize(width, height);
				f.setVisible(true);
			}
		});
	}
}

分享到:
评论

相关推荐

    基于JAVA的列表框JList

    基于JAVA的列表框JList

    Java Swing JList列表框的实现

    Java Swing JList 列表框的实现 Java Swing JList 列表框是 Java 中的一个基本组件,用于显示多个选项,允许用户选择一个或多个选项。下面详细介绍 JList 的实现。 概述 JList 是一个列表框,用于显示多个选项,...

    java列表框应用

    ### Java列表框应用详解 #### 一、JList的基本概念与使用方法 在Java的Swing库中,`JList`是一种非常实用的组件,它主要用于显示一系列项目的列表,并允许用户进行选择。本文将详细介绍`JList`的各种使用场景及其...

    JList列表框 中盛放 CheckBox复选框,并可以实现上下移动,和鼠标拖动移动

    在JList列表框 中盛放 CheckBox复选框,并可以实现列表中的项上下移动和鼠标拖动列表项进行移动,可以直接运行

    《Java语言实验与课程设计指导》.doc

    + 技术点: 使用泛型链表LinkedList保存读者对象、用列表框JList显示读者信息、列表框放在带滚动条的滚动面板中、用泛型向量Vector作为列表框的数据源等技术。 总结 本资源涵盖了Java语言的基础知识和实践操作,...

    读取文本文件到列表框中,逐行显示,并有水平滚动条和垂直滚动条

    2. 创建并操作列表框控件,如C#'s `ListBox`或Java Swing的`JList`。 3. 设置滚动条属性,确保水平和垂直滚动条的可用性。 4. 优化性能,如异步加载、分批次添加、控制界面重绘等。 理解这些知识点对于开发用户友好...

    JavaSwing下拉框列表框补全提示的类

    Java Swing 是一个用于构建桌面应用程序的 Java 库,它提供了丰富的用户界面组件,如按钮、文本框、下拉框(JComboBox)和列表框(JList)。在开发这些组件时,有时我们需要处理显示内容过长的情况,特别是当选项...

    java swing带复选框的JList控件

    在许多情况下,我们可能需要在 `JList` 中添加复选框功能,让用户能够多选列表中的项。本文将详细介绍如何在 Java Swing 中创建一个带有复选框的 `JList` 控件。 首先,`JList` 默认并不支持复选框,但我们可以使用...

    列表框的使用

    列表框在IT领域,特别是在GUI(图形用户界面)设计中是一种常见的组件,它允许用户从一组预定义的选项中选择一个或多个项。在本文中,我们将深入探讨列表框的使用,包括其基本概念、创建过程、常见操作以及在不同...

    自定义列表框,可以屏蔽某些元素

    在IT领域,自定义列表框(Custom List Box)是一种常见的用户界面组件,它允许程序员根据特定需求定制列表的展示方式和交互行为。本主题聚焦于如何创建一个自定义列表框,以便屏蔽或隐藏某些特定元素,同时保持其可...

    JList的一些用法

    在Java的Swing图形用户界面库中,`JList`组件提供了展示列表项的强大功能,不仅能够支持单列或多列显示,还提供了丰富的事件处理机制,使得它成为构建用户交互界面时不可或缺的一部分。本文将深入探讨`JList`的基本...

    列表框式链接菜单

    总的来说,要创建一个列表框式链接菜单,你需要理解如何使用Java Swing组件,尤其是JList和DefaultListModel,以及如何处理用户事件。同时,根据实际需求,你还可以自定义菜单项的显示样式,添加更多交互功能,或者...

    java构建几种个性的JList

    总结来说,Java的`JList`组件提供了丰富的自定义选项,可以根据具体需求创建具有图片、复选框、拖放和编辑功能的列表。通过熟练掌握以上技巧,开发者可以构建出更加直观、交互性强的用户界面,提升应用的用户体验。...

    动态的填充列表框和组合框

    在编程领域,尤其是在GUI(图形用户界面)设计中,动态填充列表框(ListBox)和组合框(ComboBox)是一项常见的任务。这些控件是用户界面的重要组成部分,允许用户从预定义的选项中进行选择。理解如何动态地填充这些...

    Java列表框与数据库绑定

    在Java编程中,将列表框(JList)与数据库绑定是一项常见的任务,它允许用户从数据库中的数据动态地创建交互式列表。这种技术在开发基于Java的桌面应用程序时非常实用,尤其是在需要显示大量数据供用户选择的情况下...

    JList多选值的获取

    在Java Swing中,`JList` 组件被广泛用于创建用户界面中的列表框。不同于选择框(通常指`JComboBox`),`JList` 支持多种选择模式,使得用户能够灵活地进行单选或多选操作。本文将详细介绍如何通过`JList` 实现不同...

    可重新排序的列表框:创建一个列表框,其内容可以通过单击和拖动项目进行重新排序。-matlab开发

    创建的列表框是标准的 Matlab UICONTROL('Style','Listbox'),其底层 Java JList 修改了以下属性:'DragEnabled'、'DragSelectionEnabled'、'DropMode'、'DropTarget'、'MousePressedCallback' 和 ' ...

    JList中使用JCheckBox示例

    在这个示例中,我们将探讨如何在`JList`中集成`JCheckBox`,使得用户能够通过勾选复选框来选择列表中的项。`JCheckBox`的引入可以提供更为直观和友好的用户交互体验。 首先,我们需要创建一个自定义的`ListModel`,...

Global site tag (gtag.js) - Google Analytics