JPanel panel_center = new JPanel(); frame.getContentPane().add(panel_center, BorderLayout.CENTER); table = new JTable(); table.setModel(new DefaultTableModel(new Object[][] {}, headers)); panel_center.add(new JScrollPane(table)); JPanel panel = new JPanel(); frame.getContentPane().add(panel, BorderLayout.SOUTH);
时间: 2024-04-18 22:32:08 浏览: 117
这段代码是为了创建一个面板,将其添加到 `frame` 窗口的中央,并在该面板中显示一个表格。
首先,创建一个名为 `panel_center` 的 `JPanel` 对象。
然后,将 `panel_center` 添加到 `frame` 窗口的中央位置,使用 `BorderLayout.CENTER` 布局约束。
接下来,创建一个名为 `table` 的 `JTable` 对象,用于显示表格数据。
通过调用 `setModel()` 方法,将一个新的 `DefaultTableModel` 对象设置为 `table` 的数据模型。该数据模型使用一个空的二维数组和之前声明的 `headers` 数组作为列标题。
将带有滚动条的 `JScrollPane` 对象添加到 `panel_center` 面板中,以便在需要时可以滚动查看表格数据。
最后,创建一个名为 `panel` 的 `JPanel` 对象,并将其添加到 `frame` 窗口的南部位置,使用 `BorderLayout.SOUTH` 布局约束。
通过这段代码,实现了将一个表格添加到窗口中央的功能,并在窗口南部添加了一个面板,可能用于显示其他组件或功能。
相关问题
public updateDialog(Frame owner) { super(owner, "查找" , true); that=owner; setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setBounds(100, 100, 270, 354);//设置了对话框的大小和位置 getContentPane().setLayout(new BorderLayout()); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(new BorderLayout(0, 0)); { JPanel panel = new JPanel(); contentPanel.add(panel, BorderLayout.WEST); panel.setLayout(new GridLayout(0, 1, 0, 0)); { JLabel label = new JLabel("编号:"); panel.add(label); } { JLabel label = new JLabel("身份证号:"); panel.add(label); } { JLabel label = new JLabel("药品信息:"); panel.add(label); } { JLabel label = new JLabel("价格:"); panel.add(label); } { JLabel label = new JLabel("状态:"); panel.add(label); } } { JPanel panel = new JPanel(); contentPanel.add(panel, BorderLayout.CENTER); panel.setLayout(new GridLayout(0, 1, 0, 0)); { textField_1 = new JTextField(); panel.add(textField_1); textField_1.setColumns(10); } { textField_2 = new JTextField(); panel.add(textField_2); textField_2.setColumns(10); } { textField_3 = new JTextField(); panel.add(textField_3); textField_3.setColumns(10); } { textField_4 = new JTextField(); panel.add(textField_4); textField_4.setColumns(10); } { textField_5 = new JTextField(); panel.add(textField_5); textField_5.setColumns(10); } }
这段代码是一个 Java 类中的构造函数,用于创建一个名为 "查找" 的对话框。该对话框包含了一些标签和文本框,用于输入编号、身份证号、药品信息、价格和状态等信息。
对话框的大小和位置通过 `setBounds` 方法进行设置,布局使用了边界布局(BorderLayout)。对话框的内容面板(contentPanel)的边框也进行了设置。
内容面板中包含了两个面板,分别是位于 WEST 和 CENTER 的面板。WEST 面板使用了网格布局(GridLayout),包含了编号、身份证号、药品信息、价格和状态等标签。CENTER 面板也使用了网格布局,包含了对应的文本框。
每个标签和文本框都被添加到了相应的面板中,并设置了适当的大小和位置。
这段代码还设置了对话框的默认关闭操作为 DISPOSE_ON_CLOSE,表示关闭对话框时只会将其隐藏而不销毁。
package project; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DeleteStudentFrm_info extends JFrame implements ActionListener{ StudentDao studentDao = new StudentDao(); JButton btn_add = new JButton("确定"); JButton btn_del = new JButton("取消"); JLabel lb_sno = new JLabel("学号"); JLabel lb_sname = new JLabel("姓名"); JLabel lb_sex = new JLabel("性别"); JLabel lb_add = new JLabel("家庭地址"); JLabel lb_tel = new JLabel("联系"); JTextField txt_sno = new JTextField(); JTextField txt_sname = new JTextField(); JTextField txt_sex = new JTextField(); JTextField txt_add = new JTextField(); JTextField txt_tel = new JTextField(); public DeleteStudentFrm_info(String sno) { String[] temp =studentDao.queryStudents_info_one(sno); txt_sno.setText(temp[0]); txt_sname.setText(temp[1]); txt_sex.setText(temp[2]); txt_add.setText(temp[3]); txt_tel.setText(temp[4]); JPanel jp = (JPanel) this.getContentPane(); JPanel jp1 = new JPanel(); jp1.setLayout(new GridLayout(6, 2, 5, 10)); jp1.add(lb_sno); jp1.add(txt_sno); jp1.add(lb_sname); jp1.add(txt_sname); jp1.add(lb_sex); jp1.add(txt_sex); jp1.add(lb_add); jp1.add(txt_add); jp1.add(lb_tel); jp1.add(txt_tel); jp1.add(btn_add); jp1.add(btn_del); jp.add(jp1, BorderLayout.NORTH); btn_add.addActionListener(this); btn_del.addActionListener(this); this.setSize(400, 260); this.setVisible(true); this.setTitle("删除学生信息"); } public void actionPerformed(ActionEvent e) { if (e.getSource() == btn_add) { studentDao.deleteStudent_sno(txt_sno.getText()); JOptionPane.showMessageDialog(this, "学号为" + txt_sno.getText() + "的记录删除成功!"); dispose(); } if (e.getSource() == btn_del) { dispose(); } } }
这是一个 Java GUI 程序,用于删除学生信息。它包括一个继承自 JFrame 的 DeleteStudentFrm_info 类,实现了 ActionListener 接口。程序中使用了 StudentDao 类来实现与数据库的交互。
在程序中,首先创建了一个 StudentDao 的实例。然后创建了一些用于显示和输入学生信息的组件,包括标签、文本框和按钮。在 DeleteStudentFrm_info 的构造函数中,通过调用 studentDao 的 queryStudents_info_one 方法查询指定学号的学生信息,并将其显示在对应的文本框中。
在 actionPerformed 方法中,通过判断事件源是哪个按钮来执行对应的操作。如果是确定按钮(btn_add),则调用 studentDao 的 deleteStudent_sno 方法删除指定学号的学生信息,并弹出一个提示框表示删除成功;如果是取消按钮(btn_del),则直接关闭窗口。
最后,设置窗口的大小和标题,并将其显示出来。
阅读全文