T10 Swing设计思想.pptVIP

  • 2
  • 0
  • 约3.35千字
  • 约 32页
  • 2016-11-04 发布于江苏
  • 举报
Swing高级组件 目 标 JList 实现 事件监听 JTree 实现 事件监听 JTable 实现 事件监听 Swing MVC MVC(Model-View-Controller),既模型-视图-控制器 。 模型:维护数据并提供数据访问方法。 视图:绘制模型的部分数据或所有数据的可视。 控制器:处理事件。 JList JList控件用于显示对象列表,并允许用户选择列表中的一项或多项。 JList( ):建立一个新的下拉列表 JList(ListModel dataModel):利用listModel建立一个下拉列表 JList(Object[ ] listData):利用数组对象建立一个下拉列表 JList(Vector listData):利用矢量集建立一个下拉列表 以数组对象创建的List组件其选项将无法改变 以矢量集创建的List组件其选项值可以随需要进行修改 int[] getSelectedIndices():得到选中项的索引值 Object[] getSelectedValues():得到选中项的内容 boolean isSelectedIndex(int index):判断给定索引项有没被选中 void setListData(Obejct[] data):设置创建的下拉列表的数组对象 void setListData(Vector data) :设置创建的下拉列表的矢量集对象 void setModel(ListModel model):设置创建列表框的列表框模板 void setSelectionModel(listSelectionModel model):设置选择方式 例 子 ListModel与DefaultListModel ListModel接口主要定义一些与选项相关的方法 AbstractListModel是实现了ListModel接口的抽象类 通过继承该类实现必须的方法来创建一个ListModel对象来创建下拉列表 DefaultListModel是继承了AbstractListModel具体类 可以直接用new来创建一个ListModel对象来创建下拉列表,而不需要实现任何方法 AbstractListModel例子 DefaultListModel例子 JList选项改变事件 在JList类中可以通过addListSelectionListener()方法来实现检测用户是否改变了JList选项。 实现步骤: 实现ListSelectionListener接口 给JList增加选项改变监听 jList1.addListSelectionListener(this); 实现valueChanged(e)方法,写上自己的业务逻辑 例 子 JTree JTree树是用来显示一组层次分明的数据,可展开也可合并 构造函数 JTree():创建一个默认的树 JTree(Hashtable value):根据Hashtable对象中值的关系来创建一个树 JTree(Object[] value):根据数组中值建立一个数,且该树有多个根节点 JTree(Vector value):根据矢量对象中值创建一个树 JTree(TreeModel model):根据指定的数据模型来创建树 JTree(TreeNode node):使用TreeNode对象来创建树 JTree(TreeNode node,boolean asksAllowsChildren):使用TreeNode对象来创建树,并指定该节点是否允许有子节点 例 子 例 子 JTree事件处理 JTree也偶一个非常重要的事件:选项改变监听事件; 实现步骤: 实现TreeSelectionListener接口 为JTree对象增加addTreeSelectionListener()方法 实现valueChanged(TreeSelectionEvent e)方法 案例: 简单记事本 例 子 实现分析: 左边一个JTree实现记事本的选择 右边一个编辑面板JEditorPane,编辑浏览内容 JTree与JEditorPane都要具有滚动条的功能,因此都必须放在一个滚动面板中JScrollPane 左右两边的滚动面板必须被一个分割面板JSplitPane分开 例 子 例 子 表格-JTable-1 1、表格由一个表格头部(列头部),表格列和单元值组成。行和单元不象列头和列是对象。 2、表格单元值由实现Table CellRender接口的对象绘制并实现CellEditor接口的对象进行编辑。 3、表格支持很多选取模式,包括行、列和单元选取。 4、表格单独在swing.table包中有接口和类。 5、只有放在滚

文档评论(0)

1亿VIP精品文档

相关文档