作者: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
我是码龙,如果我的文章对你有帮助,请点个 赞👍🏻 支持我一下