ListModel演示 : 列表 « 图形用户界面 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 图形用户界面 » 列表屏幕截图 
ListModel演示
ListModel演示

/*
Definitive Guide to Swing for Java 2, Second Edition
By John Zukowski     
ISBN: 1-893115-78-X
Publisher: APress
*/

import java.awt.Point;
import java.awt.event.MouseEvent;
import java.util.Arrays;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Properties;
import java.util.SortedSet;
import java.util.TreeSet;

import javax.swing.AbstractListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ToolTipManager;

public class PropertiesList extends JList {

  SortedListModel model;

  Properties tipProps;

  public PropertiesList(Properties props) {
    model = new SortedListModel();
    setModel(model);
    ToolTipManager.sharedInstance().registerComponent(this);

    tipProps = props;
    addProperties(props);
  }

  private void addProperties(Properties props) {
    // Load
    Enumeration e = props.propertyNames();
    while (e.hasMoreElements()) {
      model.add(e.nextElement());
    }
  }

  public String getToolTipText(MouseEvent event) {
    Point p = event.getPoint();
    int location = locationToIndex(p);
    String key = (Stringmodel.getElementAt(location);
    String tip = tipProps.getProperty(key);
    return tip;
  }

  public static void main(String args[]) {
    JFrame frame = new JFrame("Custom Tip Demo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Properties props = System.getProperties();
    PropertiesList list = new PropertiesList(props);
    JScrollPane scrollPane = new JScrollPane(list);
    frame.getContentPane().add(scrollPane);
    frame.setSize(300300);
    frame.setVisible(true);
  }
}

class SortedListModel extends AbstractListModel {

  SortedSet model;

  public SortedListModel() {
    model = new TreeSet();
  }

  public int getSize() {
    return model.size();
  }

  public Object getElementAt(int index) {
    return model.toArray()[index];
  }

  public void add(Object element) {
    if (model.add(element)) {
      fireContentsChanged(this, 0, getSize());
    }
  }

  public void addAll(Object elements[]) {
    Collection c = Arrays.asList(elements);
    model.addAll(c);
    fireContentsChanged(this, 0, getSize());
  }

  public void clear() {
    model.clear();
    fireContentsChanged(this, 0, getSize());
  }

  public boolean contains(Object element) {
    return model.contains(element);
  }

  public Object firstElement() {
    return model.first();
  }

  public Iterator iterator() {
    return model.iterator();
  }

  public Object lastElement() {
    return model.last();
  }

  public boolean removeElement(Object element) {
    boolean removed = model.remove(element);
    if (removed) {
      fireContentsChanged(this, 0, getSize());
    }
    return removed;
  }
}

           
       
Related examples in the same category
1. 使用JList组件以显示自定义的项目ListCellRenderer使用JList组件以显示自定义的项目ListCellRenderer
2. JList与DefaultListModelJList与DefaultListModel
3. 从一系列的字符串值创建JList从一系列的字符串值创建JList
4. 图形列表选择事件监听图形列表选择事件监听
5. Test of the DragGesture classes and JList to see if we can recognize a simple drag gestureTest of the DragGesture classes and JList to see if we can recognize a simple drag gesture
6. 双JList之间的按钮双JList之间的按钮
7. 继承ListCellRenderer来显示图标继承ListCellRenderer来显示图标
8. 添加JList到滚动窗格添加JList到滚动窗格
9. JList和ComboBoxJList和ComboBox
10. JList选择改变事件监听JList选择改变事件监听
11. 三列表相同的数据数组三列表相同的数据数组
12. List with and without ScrollPane List with and without ScrollPane
13. 设置固定单元格高度和宽度设置固定单元格高度和宽度
14. 名单:共享数据名单:共享数据
15. 列表框数据事件演示列表框数据事件演示
16. 如何使用列表框控件如何使用列表框控件
17. 创建名单,从名单模型创建名单,从名单模型
18. 如何创建列单元格渲染如何创建列单元格渲染
19. 列表选择事件列表选择事件
20. 构建列表框控件构建列表框控件
21. 标签列表渲染标签列表渲染
22. 列表框文本输入列表框文本输入
23. JList和JComboBox之间共享模型JList和JComboBox之间共享模型
24. 演示ScrollingList演示ScrollingList
25. 演示JList ListModel演示JList ListModel
26. 弱ListModel
27. ModifyModelSample : ListModel演示ModifyModelSample : ListModel演示
28. ArrayList的ListModel ,易于使用
29. 拖放: JList和列表框拖放: JList和列表框
30. 列表框选择事件
31. JList is a component that displays a list of objects: It allows the user to select one or more items.JList is a component that displays a list of objects: It allows the user to select one or more items.
32. JTextArea是一个多行文本区域,显示纯文本。
33. JTextPane组件
34. JButton模型:管理按钮状态
35. 预设按钮模型
36. JList: ListModel and ListSelectionModel. The ListModel handles data. ListSelectionModel works with the GUI.JList: ListModel and ListSelectionModel. The ListModel handles data. ListSelectionModel works with the GUI.
37. 单选择JList。
38. JList组件项目选择改变事件
39. JList组件项目选择改变监听
40. 检测双重和三重点击中JList组件项目
41. 安排JList组件的项目
42. changes the layout orientation so that its items are displayed top-to-bottom and left-to-right.
43. Make the number of visible rows dependent on the height of the list, the visibleRowCount property must be set to 0:
44. 设置JList组件的选择模式
45. 选定的项目必须是在一个连续的范围
46. 多范围的选定项目
47. 在JList组件设置选定的项目
48. import javax.swing.JList;
49. 选择所有项目
50. 清除所有选择
51. 选择第一个项目
52. 添加另一个选择-第三个项目
53. 取消第一个项目
54. 选择一个项目
55. 在JList组件使用所选项目
56. 获得最后选定项目的索引
57. 确定是否第三个项目被选中
58. 确定是否有任何被选定的项目
59. 返回所选项目的对象
60. JList组件添加和删除项目
61. 附加项目
62. 插入一个项目到开始
63. 创建一个列表,允许添加和删除
64. 使用Set方法取代一个项目
65. 用来删除项目的方法
66. 获取JList组件中的控件
67. 用于找到一个项目的方法
68. 这些方法可以用来寻找可见的范围
69. 获取第一个可见项目的索引
70. 获取最后一个可见项目的索引
71. JList组件项目的工具提示
72. 设置JList组件项目的尺寸
73. 同样本设置列表框项目
74. 创建一个JList组件
75. The items can be arbitrary objects. The toString() method of the objects is displayed in the list component.
76. 在一个按钮组确定所选JRadioButton
77. 旋转一个微调事件
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.