逐句分析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(); }
时间: 2024-03-18 11:44:32 浏览: 60
这段代码定义了一个名为 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 的方法。
阅读全文