完成实验十的ko-ngxugan
2023-12-18 18:16:02
完成实验十的空闲
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Login extends JFrame {
// JPanel
JPanel panelTop, panelCenter, panelBottom;
JLabel image, labelName, labelAge, labelSex, labelSpeciality;
JTextField textName, textAge, textSex, textSpeciality;
JButton btn_confirm, btn_reset;
JRadioButton male, female;
JCheckBox javaCheckBox, cCheckBox;
JTextArea introduction;
JScrollPane scrollPane;
public Login() {
setSize(400, 300); // 设置窗口大小
setTitle("注册");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // 窗口居中
// 1. 上部面板
// 创建 ImageIcon 对象
ImageIcon logo = new ImageIcon("welcome.gif");
// 创建 JLabel 并设置图标
image = new JLabel(logo);
panelTop = new JPanel();
panelTop.add(image);
// 2. 中部面板
panelCenter = new JPanel();
labelName = new JLabel("姓 名");
labelAge = new JLabel("年 龄");
labelSex = new JLabel("性 别");
labelSpeciality = new JLabel("擅长");
ButtonGroup buttonGroup = new ButtonGroup();
male = new JRadioButton("Male");
female = new JRadioButton("Female");
buttonGroup.add(male);
buttonGroup.add(female);
javaCheckBox = new JCheckBox("Java");
cCheckBox = new JCheckBox("C");
introduction = new JTextArea("自我介绍", 4, 5);
scrollPane = new JScrollPane(introduction); // 将 JTextArea 添加到 JScrollPane 中以提高滚动功能
panelCenter.add(labelName);
panelCenter.add(labelAge);
panelCenter.add(labelSex);
panelCenter.add(labelSpeciality);
panelCenter.add(textName = new JTextField(10)); // 设置文本框长度为10
panelCenter.add(textAge = new JTextField(10));
panelCenter.add(textSex = new JTextField(10));
panelCenter.add(textSpeciality = new JTextField(10));
panelCenter.setLayout(new BoxLayout(panelCenter, BoxLayout.Y_AXIS)); // 使用垂直布局管理器排列组件
panelBottom = new JPanel(); // 创建下部面板
btn_confirm = new JButton("确认"); // 创建确认按钮并设置文本为“确认”
btn_reset = new JButton("重置");
btn_confirm.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringBuffer stringBuffer=new StringBuffer();
stringBuffer.append("姓名"+textName.getText());
stringBuffer.append("性别");
//JOptionPane.showMessageDialog(this,"a","b");
if(male.isSelected()){
stringBuffer.append("性别"+male.getText());
}else{
stringBuffer.append("性别"+female.getText());
}
stringBuffer.append("擅长");
}
});
btn_confirm.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (textName.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "姓名不能为空");
}
}
});
btn_reset.addActionListener(new ActionListener() { // 为重置按钮添加监听器以处理点击事件
@Override
public void actionPerformed(ActionEvent e) {
textAge.setText("");
textName.setText("");
}
});
panelCenter.add(male);
panelCenter.add(female);
panelCenter.add(javaCheckBox);
panelCenter.add(cCheckBox);
panelBottom.add(btn_confirm); // 将确认按钮添加到下部面板中并水平排列(默认布局管理器)
panelBottom.add(btn_reset); // 将重置按钮添加到下部面板中并水平排列(默认布局管理器)
panelBottom.add(Box.createHorizontalStrut(10)); // 在两个按钮之间添加间距以美化界面布局(可选)
// 将所有面板添加到窗口中
add(panelTop, BorderLayout.NORTH); // 顶部面板添加到窗口顶部
add(panelCenter, BorderLayout.CENTER); // 中部面板添加到窗口中心
add(panelBottom, BorderLayout.SOUTH); // 下部面板添加到窗口底部
}
public static void main(String[] args) {
Login login = new Login(); // 创建Login对象,并显示窗口
login.setVisible(true); // 设置窗口为可见
}
}
文章来源:https://blog.csdn.net/leke2003/article/details/135060406
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!