Java GUI 程序:数据输入验证与提示
以下是使用Java创建GUI程序的代码,该程序实现了一个简单的用户界面,用于输入学号和姓名,并进行数据验证。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class GUIProgram extends JFrame {
private JTextField textFieldId;
private JTextField textFieldName;
public GUIProgram() {
// 设置窗口大小和标题
setSize(400, 160);
setTitle('数据输入');
// 设置网格布局
setLayout(new GridLayout(3, 2));
// 创建标签和文本框
JLabel labelId = new JLabel('学号:');
JLabel labelName = new JLabel('姓名:');
textFieldId = new JTextField();
textFieldName = new JTextField();
// 设置标签和文本框的字体
Font font = new Font('楷体', Font.BOLD, 20);
labelId.setFont(font);
labelName.setFont(font);
textFieldId.setFont(font);
textFieldName.setFont(font);
// 添加标签和文本框至窗口
add(labelId);
add(textFieldId);
add(labelName);
add(textFieldName);
// 创建按钮
JButton button = new JButton('确定');
button.setFont(font);
// 设置按钮的点击事件
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String id = textFieldId.getText();
String name = textFieldName.getText();
if (id.isEmpty() || name.isEmpty()) {
JOptionPane.showMessageDialog(null, '学号和姓名不能为空!', '警告', JOptionPane.WARNING_MESSAGE);
} else if (!id.matches('\d{8}')) {
JOptionPane.showMessageDialog(null, '学号必须由8个字符数字构成!', '警告', JOptionPane.WARNING_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, '学号:' + id + '\n姓名:' + name, '信息', JOptionPane.INFORMATION_MESSAGE);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, '发生错误!', '错误', JOptionPane.ERROR_MESSAGE);
}
}
});
// 添加按钮至窗口
add(button);
// 设置窗口可见性和关闭操作
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// 创建GUI程序对象
new GUIProgram();
}
}
该程序包含以下主要功能:
- 界面布局: 使用 GridLayout 将窗口分为 3 行 2 列,分别放置标签、文本框和按钮。
- 组件设置: 使用 Font 类设置所有组件的字体为楷体、加粗、20 点大小。
- 数据验证: 按钮的点击事件中,对文本框中的学号和姓名进行验证。
- 如果学号或姓名为空,弹出警告提示对话框。
- 如果学号不是由 8 个字符数字构成,弹出警告提示对话框。
- 结果显示: 验证通过后,弹出对话框显示学号和姓名信息。
- 异常处理: 使用 try-catch 块捕获可能发生的异常,并在出现错误时弹出错误提示对话框。
该程序演示了如何在 Java 中创建简单的 GUI 程序,并进行数据验证和异常处理。您可以在此基础上进一步扩展功能,实现更复杂的 GUI 应用。
原文地址: http://www.cveoy.top/t/topic/QC4 著作权归作者所有。请勿转载和采集!