Java Swing个人信息界面设计:标签、按钮、文本框等组件实战
使用Java Swing打造个人信息界面:从入门到实战
想用Java创建一个简单的个人信息界面?这篇文章将带你一步步实现!我们将使用Java Swing库,学习如何使用标签、按钮、文本框、文本域、单选框和复选框等组件,最终构建一个功能完整的界面。
完整代码示例
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PersonalInfoGUI {
private JFrame frame;
private JLabel nameLabel;
private JTextField nameTextField;
private JLabel genderLabel;
private JRadioButton maleRadioButton;
private JRadioButton femaleRadioButton;
private JLabel hobbiesLabel;
private JCheckBox sportsCheckBox;
private JCheckBox musicCheckBox;
private JLabel addressLabel;
private JTextArea addressTextArea;
private JButton submitButton;
public PersonalInfoGUI() {
frame = new JFrame('个人信息');
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(new GridLayout(6, 2));
nameLabel = new JLabel('姓名: ');
nameTextField = new JTextField();
genderLabel = new JLabel('性别: ');
maleRadioButton = new JRadioButton('男');
femaleRadioButton = new JRadioButton('女');
ButtonGroup genderGroup = new ButtonGroup();
genderGroup.add(maleRadioButton);
genderGroup.add(femaleRadioButton);
hobbiesLabel = new JLabel('爱好: ');
sportsCheckBox = new JCheckBox('运动');
musicCheckBox = new JCheckBox('音乐');
addressLabel = new JLabel('地址: ');
addressTextArea = new JTextArea();
submitButton = new JButton('提交');
panel.add(nameLabel);
panel.add(nameTextField);
panel.add(genderLabel);
panel.add(maleRadioButton);
panel.add(new JLabel());
panel.add(femaleRadioButton);
panel.add(hobbiesLabel);
panel.add(sportsCheckBox);
panel.add(new JLabel());
panel.add(musicCheckBox);
panel.add(addressLabel);
panel.add(addressTextArea);
panel.add(submitButton);
submitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
submit();
}
});
frame.setVisible(true);
}
private void submit() {
String name = nameTextField.getText();
String gender = maleRadioButton.isSelected() ? '男' : '女';
String hobbies = '';
if (sportsCheckBox.isSelected()) {
hobbies += '运动 ';
}
if (musicCheckBox.isSelected()) {
hobbies += '音乐 ';
}
String address = addressTextArea.getText();
String message = '姓名: ' + name + '\n'
+ '性别: ' + gender + '\n'
+ '爱好: ' + hobbies + '\n'
+ '地址: ' + address;
JOptionPane.showMessageDialog(frame, message, '个人信息', JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new PersonalInfoGUI();
}
});
}
}
代码详解
- 导入必要的类: 我们导入了
javax.swing.*和java.awt.*包,以便使用Swing和AWT库中的类和接口。 - 创建主窗口: 使用
JFrame创建主窗口,并设置标题、默认关闭操作和窗口大小。 - 创建面板: 使用
JPanel创建面板,用于容纳其他组件,并使用GridLayout设置布局管理器为6行2列。 - 创建组件: 创建各种组件,包括标签(
JLabel)、文本框(JTextField)、单选框(JRadioButton)、复选框(JCheckBox)、文本域(JTextArea)和按钮(JButton)。 - 添加组件到面板: 使用
panel.add()方法将所有组件添加到面板上,并使用new JLabel()添加空白标签来控制布局。 - 添加事件监听器: 为提交按钮添加
ActionListener,当按钮被点击时,执行submit()方法。 - 实现提交功能:
submit()方法获取用户输入的信息,并将信息拼接成字符串,最后使用JOptionPane.showMessageDialog()方法弹出信息框显示用户信息。 - 运行程序: 在
main()方法中使用SwingUtilities.invokeLater()方法启动图形界面线程,并在该线程中创建PersonalInfoGUI类的实例。
总结
通过以上步骤,我们成功创建了一个简单的个人信息界面,并学习了如何使用Java Swing库中的常用组件。你可以根据需要对此界面进行扩展和美化,例如添加更多组件、修改布局、添加数据校验等功能,打造更完善的应用程序。
原文地址: https://www.cveoy.top/t/topic/Hls 著作权归作者所有。请勿转载和采集!