学习笔记 java\CoreJava笔记\CoreJava_day16
### Java CoreJava_day16 学习笔记 #### 第十六天:2009-08-07 星期五 今天的学习重点是适配器模式及其在Java中的应用,以及`TransferHandler`类的相关知识。 ### 一、适配器模式 适配器模式是一种结构型设计模式,它能让那些因为接口不兼容而不能一起工作的类可以一起工作。适配器模式通常用于以下几种情况: - **将一个类的接口转换成客户希望的另外一个接口**。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 - **希望复用已存在的子类,但是其接口与所需的接口不一致**。 #### 重要概念: - **目标(Target)**: 这是客户所期待的接口。任何现有的或者未来的类,只要实现了这个接口,就可以被客户所接受。 - **适配者(Adaptee)**: 这是我们想要复用的已经存在的类。通常情况下,适配者并不符合我们期望的接口,因此我们需要创建一个适配器来让它符合我们的目标接口。 - **适配器(Adapter)**: 这是本模式的关键。它持有一个适配者的对象实例,并且实现了目标接口。 #### 实现方式: 1. **类适配器模式**:适配器类继承自适配者类。 2. **对象适配器模式**:适配器类持有适配者类的一个实例。 ### 二、`TransferHandler` 类详解 `TransferHandler` 类在Java Swing中扮演着非常重要的角色。它负责处理组件间的数据传输,包括剪切、复制、粘贴等操作,同时也支持拖放功能。 #### 主要方法介绍: - **`public TransferHandler(String property)`**:构造函数,可以指定特定属性,用于关联数据。 - **`public void exportDone(JComponent c, Transferable data, int action)`**:当数据导出完成时调用此方法。 - **`public void importData(JComponent c, Transferable t)`**:当数据导入到组件时调用此方法。 - **`public boolean canImport(JComponent c, DataFlavor[] flavors)`**:判断是否可以从指定的数据类型中导入数据。 - **`public int getSourceActions(JComponent c)`**:获取源组件可执行的操作类型(如复制、移动等)。 #### 使用示例: 假设我们有一个文本框 (`JTextField`) 需要支持拖放功能: ```java JTextField textField = new JTextField(); textField.setDragEnabled(true); // 启用拖放功能 textField.setTransferHandler(new StringTransferHandler()); // 设置自定义的TransferHandler ``` 其中,`StringTransferHandler` 是一个自定义的 `TransferHandler` 类,用于处理字符串数据类型的传输。 ### 三、作业示例:使用 JTable 显示数据 根据描述,作业的目标是将一个字符串按照一定的格式拆分,并使用 `JTable` 来展示。 #### 字符串拆分: 我们需要将字符串按照特定的规则拆分成表格数据。 ```java String s = "zhang,男,25,学生;zhao,女,25,java程序员;li,女,20,项目经理;liu,男,25,DBA"; String[] rows = s.split(";"); Object[][] data = new Object[rows.length][4]; for (int i = 0; i < rows.length; i++) { String[] columns = rows[i].split(","); for (int j = 0; j < columns.length; j++) { data[i][j] = columns[j]; } } ``` #### 创建 JTable: 接下来,我们创建一个 `JTable` 并填充上面准备好的数据。 ```java String[] columnNames = {"姓名", "性别", "年龄", "职业"}; JTable table = new JTable(data, columnNames); ``` 这样,我们就成功地将原始字符串转换成了表格形式,并使用 `JTable` 展示了数据。 ### 四、总结 今天的课程主要介绍了适配器模式和 `TransferHandler` 类的使用方法,以及如何使用 `JTable` 来展示数据。通过学习这些内容,我们可以更好地理解Java Swing框架的工作原理,并能够更加灵活地使用它来开发桌面应用程序。
- 粉丝: 1
- 资源: 34
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0