使用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();
            }
        });
    }
}

代码详解

  1. 导入必要的类: 我们导入了javax.swing.*java.awt.*包,以便使用Swing和AWT库中的类和接口。
  2. 创建主窗口: 使用JFrame创建主窗口,并设置标题、默认关闭操作和窗口大小。
  3. 创建面板: 使用JPanel创建面板,用于容纳其他组件,并使用GridLayout设置布局管理器为6行2列。
  4. 创建组件: 创建各种组件,包括标签(JLabel)、文本框(JTextField)、单选框(JRadioButton)、复选框(JCheckBox)、文本域(JTextArea)和按钮(JButton)。
  5. 添加组件到面板: 使用panel.add()方法将所有组件添加到面板上,并使用new JLabel()添加空白标签来控制布局。
  6. 添加事件监听器: 为提交按钮添加ActionListener,当按钮被点击时,执行submit()方法。
  7. 实现提交功能: submit()方法获取用户输入的信息,并将信息拼接成字符串,最后使用JOptionPane.showMessageDialog()方法弹出信息框显示用户信息。
  8. 运行程序:main()方法中使用SwingUtilities.invokeLater()方法启动图形界面线程,并在该线程中创建PersonalInfoGUI类的实例。

总结

通过以上步骤,我们成功创建了一个简单的个人信息界面,并学习了如何使用Java Swing库中的常用组件。你可以根据需要对此界面进行扩展和美化,例如添加更多组件、修改布局、添加数据校验等功能,打造更完善的应用程序。

Java Swing个人信息界面设计:标签、按钮、文本框等组件实战

原文地址: https://www.cveoy.top/t/topic/Hls 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录