利用Swing组件实现以表格形式显示用户录入的学生信息

本文档展示了如何使用Java Swing组件构建一个简单的学生信息管理应用。作者创建了一个GameFrame窗口,包含可滚动的JTable来展示学生信息,并提供了添加和删除功能。用户在文本框输入学生信息后,通过点击按钮将其添加到表格中,同时支持选择表格中的行进行删除操作。源代码链接在文末提供。
摘要由CSDN通过智能技术生成

作者:Waylon
简介:小白一枚,和大多数同学一样从零开始一步步学习,一步步积累。期待您的关注,让我们一起成长~另外,本人学疏才浅,如有错误之处,还请见谅。

 效果图

实现思路

1.创建运行窗口
2.绘制面板及表格。
3.绘制按钮
4.给按钮添加监听事件

 代码实现

        首先创建一个游戏窗体类GameFrame,继承至JFrame,用来显示在屏幕上,设置好窗口标题、尺寸、布局等。

public class GameFrame extends JFrame {
    private JPanel jpanel;
    private JTable table;
    private JTextField textField;
    private JPanel panel_1;//用于添加JLabel和JTextField组件
    private JPanel panel_2;//用于添加JButton组件
    private DefaultTableModel model;

    /**
     * 创建frame
     */
    public GameFrame() {
        setTitle("利用Swing组件实现以表格形式显示用户录入的学生信息");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setBounds(0, 0, 450, 250);//设置窗体位置及大小
}

 创建面板容器 jpanel并添加到窗口中。

        jpanel = new JPanel();
        jpanel.setBorder(new EmptyBorder(5, 5, 5, 5));//设置空边框
        jpanel.setLayout(new BorderLayout(0, 0));//设置边框布局
        setContentPane(jpanel);//往窗体加画板

再创建一个可滚动面板供表格组件使用。

        JScrollPane jScrollPane = new JScrollPane();//创建一个可滚动面板
        jpanel.add(jScrollPane);
        jScrollPane.setViewportView(getTable());//设置可滚动面板视图为table表格

创建panel_1面板用于添加JLabel和LTextField组件

        panel_1 = new JPanel();
        panel_1.setPreferredSize(new Dimension(200, 30));//设置panel_1组件大小
        jpanel.add(panel_1, BorderLayout.NORTH);//向面板容器添加panel_1并指定布局
        panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        //创建显示文本
        JLabel label = new JLabel("学生信息:");
        panel_1.add(label);

        //创建文本框
        textField = new JTextField("小马、男、001、20软件工程",25);
        panel_1.add(textField);

创建panel_2面板用于添加按钮组件

        panel_2 = new JPanel();
        jpanel.add(panel_2, BorderLayout.EAST);//设置布局

        //创建按钮
        JButton button_1 = new JButton("添加");
        JButton button_2 = new JButton("删除");
        panel_2.add(button_1);
        panel_2.add(button_2);

绘制表格

    private JTable getTable() {
        if (table == null) {
            table = new JTable();
            table.setRowHeight(25);//设置行高
            String[] colums = {"姓名", "性别", "学号", "班级"};//创建列名数组
            model = new DefaultTableModel(colums, 0);//创建表格模型
            table.setModel(model);//设置表格模型
        }
        return table;
    }

给按钮添加监听事件

        //给按钮添加监听事件
        button_1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button_1_actionPerformed(e);
            }
        });
        button_2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                button_2_actionPerformed(e);
            }
        });

 点击添加按钮时,获取文本框的内容并加到表格中。若文本框内容为空,则提示错误。

关键代码如下:

        String text = textField.getText();// 获取用户输入的学生信息
        String[] split = text.split("、");
        model.addRow(split);

点击删除按钮,删除选中的一行

关键代码如下:

            model.removeRow(table.getSelectedRow());

完整代码链接:https://download.csdn.net/download/Waylon_Ma/20405355?spm=1001.2014.3001.5501

我是码龙,如果我的文章对你有帮助,请点个 👍🏻 支持我一下 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Waylon1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值