table.setModel(mm);
时间: 2024-04-06 14:30:04 浏览: 26
这段代码将数据模型 `mm` 设置到表格 `table` 上,以便在表格中显示数据。`setModel()` 是 `JTable` 类中的一个方法,它的作用是设置表格的数据模型,也就是将数据模型与表格关联起来,以便在表格中显示数据。在这里,`mm` 是一个 `DefaultTableModel` 对象,它定义了表格的结构和数据,将它设置到表格 `table` 上,就可以在表格中显示数据了。
相关问题
table.setModel(mm); table.setRowSorter(new TableRowSorter<>(mm)); JScrollPane js=new JScrollPane(table); add(js); search();
这段代码实现了将数据模型 `mm` 设置到表格 `table` 上,并且创建了一个 `TableRowSorter` 对象并设置到表格上,以支持表格的排序功能。然后,将表格 `table` 放到一个滚动面板 `js` 中,并将滚动面板添加到当前面板中。最后,调用 `search()` 方法来初始化表格数据。
具体来说,`table.setModel(mm)` 将数据模型 `mm` 设置到表格 `table` 上,以便在表格中显示数据。
`table.setRowSorter(new TableRowSorter<>(mm))` 创建一个 `TableRowSorter` 对象并设置到表格上,以支持对表格数据的排序功能。`TableRowSorter` 是一个用于排序和过滤 `TableModel` 的类,它可以根据用户的选择来对表格中的数据进行排序,也可以根据用户的输入来对表格数据进行过滤。
`JScrollPane js=new JScrollPane(table)` 创建一个滚动面板 `js`,并将表格 `table` 放到滚动面板中。如果表格数据比较多,那么就可以通过滚动面板来浏览表格中的数据。
`add(js)` 将滚动面板 `js` 添加到当前面板中,以便在界面中显示表格。
`search()` 方法用于初始化表格数据,具体实现需要看该方法的代码。
逐句分析public class AddLater extends JPanel implements ActionListener { Connection connection = new GetConnection().GetConnection(); int type; Users user; JTable table = new JTable(); //JButton button = new JButton(""); String[] col = {"学号","姓名", "宿舍号", "缺寝时间", "缺寝原因"}; DefaultTableModel mm = new DefaultTableModel(col, 0); // 定义一个表的模板 JLabel Atime,Areason,Dno,Sno,Sname,tip; JTextField AtimeText,AreasonText,DnoText,SnoText,SnameText; JButton submit; JPanel student; public AddLater(int type, Users user){ this.user=user; this.type=type; setLayout(new FlowLayout());//整个采用流动式布局 很好的适应了表格带来的影响 table.setModel(mm); table.setRowSorter(new TableRowSorter<>(mm)); JScrollPane js=new JScrollPane(table); add(js); search(); }
这段代码定义了一个名为 AddLater 的公共类,该类继承了 JPanel 类并实现了 ActionListener 接口。其中:
1. Connection connection = new GetConnection().GetConnection();
创建了一个 Connection 类型的对象 connection,并调用 GetConnection 类中的 GetConnection() 方法,该方法返回一个连接到数据库的 Connection 对象。
2. int type; Users user;
定义了两个变量,一个是类型为 int 的 type,一个是类型为 Users 的 user。
3. JTable table = new JTable();
创建了一个 JTable 类型的对象 table。
4. String[] col = {"学号","姓名", "宿舍号", "缺寝时间", "缺寝原因"};
定义了一个字符串数组 col,其中包含了表格的列名。
5. DefaultTableModel mm = new DefaultTableModel(col, 0);
创建了一个 DefaultTableModel 类型的对象 mm,该对象是表格的模板。其中第一个参数为表格的列名,第二个参数为表格的行数。
6. JLabel Atime,Areason,Dno,Sno,Sname,tip; JTextField AtimeText,AreasonText,DnoText,SnoText,SnameText; JButton submit; JPanel student;
定义了多个 JLabel、JTextField、JButton 和 JPanel 类型的对象。
7. public AddLater(int type, Users user){
定义了一个公共的构造方法 AddLater,该方法包含两个参数,一个是类型为 int 的 type,一个是类型为 Users 的 user。
8. this.user=user; this.type=type;
将构造方法中传入的参数赋值给类中的变量。
9. setLayout(new FlowLayout());
设置布局为 FlowLayout。
10. table.setModel(mm); table.setRowSorter(new TableRowSorter<>(mm));
将表格设置为模板,并设置表格的排序器。
11. JScrollPane js=new JScrollPane(table); add(js);
创建一个 JScrollPane 类型的对象 js,并将表格添加到该对象中。
12. search();
调用名为 search 的方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)