JLsit(ListModel mode):其中ListModel可以是:
ListModel接口:要重寫addListDataListener() removeListDataListener() getSize() getElementAt()方法
AbstractListModel抽象類:要重寫getSize() getElementAt()方法
DefaultListModel類:不需要重寫任何方法,而且DefaultListModel具有Vector功能,可以addElement() removeElement() getElementAt() copyInto()等操作。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JListDemo4 {
public JListDemo4(){
JFrame jf = new JFrame();
Container contentPane = jf.getContentPane();
contentPane.setLayout(new GridLayout(1,2));
ListModel mode = new DataModel3(1);
JList list = new JList(mode);
list.setBorder(BorderFactory.createTitledBorder("你用過哪些軟件?"));
mode = new DataModel3(2);
JList list2 = new JList(mode);
list2.setBorder(BorderFactory.createTitledBorder("你用過哪些數據庫軟件?"));
contentPane.add(list);
contentPane.add(list2);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String...args){
new JListDemo4();
}
}
class DataModel3 extends DefaultListModel{
String[] s = {"MS SQL","MySQL","IBM DB2","ORACLE","Windows 2000","Linux","Unix","OS2"};
int flag;
DataModel3(int flag){
this.flag = flag;
}
@Override
public Object getElementAt(int index){
String temp = null;
if(flag==1){
temp = (index+1)+"."+s[index];
}
if(flag==2){
if(index<4){
temp = (index+1)+"."+s[index];
}
}
return temp;
}
@Override
public int getSize(){
return s.length;
}
}
參考:深入淺出Java Swing程序設計
分享到:
相关推荐
Java Swing JList 列表框的实现 Java Swing JList 列表框是 Java 中的一个基本组件,用于显示多个选项,允许用户选择一个或多个选项。下面详细介绍 JList 的实现。 概述 JList 是一个列表框,用于显示多个选项,...
不同于选择框(通常指`JComboBox`),`JList` 支持多种选择模式,使得用户能够灵活地进行单选或多选操作。本文将详细介绍如何通过`JList` 实现不同类型的多选功能,并提供一个具体的实例来演示这些概念。 #### 三种...
在创建 JList 时,可以通过不同的构造函数来初始化 JList 对象,具体如下: 1. **通过数组或集合构造 JList:** 使用一个 `Object[]` 或 `Vector<?>` 构造 JList 实例,这适用于列表项数量较少且固定的情况。 `...
在这个例子中,`items`数组定义了`JList`要显示的元素,`new JList(items)`创建了一个新的`JList`实例,并用这些元素填充了列表。 为了使`JList`可以在屏幕空间有限的情况下仍能完全显示所有内容,通常会为其添加...
`CellRenderer` 是 Swing 中的一种设计模式,它允许我们控制组件在列表、表格或其他容器中的显示方式。 以下是如何实现这个功能的详细步骤: 1. **创建自定义的 CellRenderer**: 首先,我们需要创建一个继承自`...
`JList` 可以用作单选或多选列表,常用于创建下拉菜单、列表视图等用户界面元素。在这个例子中,我们将深入探讨`JList` 的使用方法,并结合给出的`List.java`文件来解析其关键知识点。 首先,`JList` 是javax.swing...
`JList`支持不同的选择模式,可以根据实际需求进行设置。 ```java // 单选模式 list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 连续多选模式 list.setSelectionMode(ListSelectionModel.SINGLE_...
- JList支持单选或多选模式,通过setSelectionMode()来设置。 - 通过addListSelectionListener()可以监听用户的选择变化。 4. JColorChooser(颜色选择器): - JColorChooser提供了一个用户友好的界面,让用户...
JList支持两种模式:单选模式(Single Selection Mode)和多选模式(Multiple Selection Mode)。通过设置ListSelectionModel,我们可以控制用户的选取行为。此外,JList还允许自定义渲染器,以便自定义每个列表项的...
你可以通过ListModel接口来管理列表中的数据,可以设置单选或多选模式,并且可以通过自定义CellRenderer来自定义列表项的显示方式。 2. JDialog:JDialog是一个顶级窗口,通常用于弹出对话框,它可以是非模态或模态...
我们可以自定义一个JList细胞渲染器,将每个列表项显示为一个复选框,同时处理用户的选择状态。 为了实现多选,我们可能需要扩展JComboBox并重写其关键方法,例如getItemAt、getSelectedObjects等,以处理多个选中...
JList组件可以用来展示选项列表,而DefaultListModel则用来存储这些选项数据。ActionListener接口则用于监听用户的选中事件,当用户点击某个选项时触发相应的动作。 首先,我们需要导入必要的包: ```java import ...
在Java Swing库中,`JList`是用于显示列表数据的组件,它可以显示一列项目,用户可以选择一个或多个项目。`JList`可以通过传递一个`ListModel`来填充数据,`ListModel`可以是`DefaultListModel`,也可以是自定义的...
书中以投资追踪器为例,展示了如何使用建造者构建不同类型的组件,如列表框和复选框,以及建造者模式的后果。 - 原型模式(Prototype Pattern):通过复制现有对象来创建新对象,减少了创建新对象的成本。书中介绍...
JList可以配置为单选或多选模式,用户可以选择一个或多个列表项。以下是对这个Java应用程序中可能涉及的知识点的详细说明: 1. **Java Swing**: Java Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了一...
适配器模式的应用场景十分广泛,例如在Java开发中,AWT(Abstract Window Toolkit)和Swing是两个不同类型的用户界面工具包。如果在使用AWT List时需要在Swing中使用相似的功能,可以通过创建一个适配器来使Swing中...
- 示例中展示了如何在列表之间移动数据,并使用JFC的`JList`类。 - 双向适配器和插拔式适配器提供了更灵活的接口转换方式。 - **桥接模式** - 桥接模式将抽象部分与它的实现部分分离,使它们都可以独立变化。 -...
2. **JList**: `JList`组件用于显示一个项目的列表,可以用来展示文件列表。通过`ListModel`接口,我们可以动态地添加、删除或修改列表中的项。用户可以通过单击或使用键盘导航在列表中选择文件。 3. **文件操作**:...
- `editTask()`方法需选择要编辑的任务,可能需要实现选择机制,例如通过单击列表项激活编辑模式。用户更改后,更新模型中的任务信息。 4. **删除任务**: - `deleteTask()`方法需要根据用户的选择删除指定的任务...
Swing提供了许多组件,如JFrame(窗口)、JButton(按钮)、JLabel(标签)、JList(列表)等,这些组件可以帮助我们构建出功能丰富的用户界面。例如,使用JList可以实现歌曲列表的显示,JButton则可以用于触发添加...