8-3 按照题目要求编写可视化界面 (20 分) java-Swing

本文档描述了一个基于Java Swing的学生个人信息录入界面的设计与实现。界面包括标题、学号和姓名输入框、性别选择(男/女)、班级选择(一班/二班)以及个人说明文本区。用户可填写信息并提交,提交后会弹窗显示个人信息;同时提供重置按钮,清空所有内容并恢复默认设置(性别为男,班级为一班)。
摘要由CSDN通过智能技术生成

请编写一个可视化界面:(可使用空布局)@

1.标题为标签“学生个人信息”,字体颜色为红色,字号为18
2.包含学号提示语标签和学号输入框
3.包含姓名提示语标签和姓名输入框
4.包含性别标签和单选按钮,可选学生的性别:男、女(男女实现二选一效果,按钮组类名ButtonGroup)
5.包含班级标签和下拉列表,可选所在班级:一班、二班
6.包含个人说明标签和文本区
7.提交按钮:弹出对话框显示学生个人信息(提示:JOptionPane.showMessageDialog(arg0,arg1))
8.重置按钮:清空各项内容,性别归位到男按钮,班级归位到一班
需提交:全部代码,并上传运行后的界面截图
题目

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Calendar;

public class Main {

	public static void main(String[] args) {
		JFrame jf = new JFrame();

		jf.setSize(400, 500);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JPanel pane1 = new JPanel();
		jf.add(pane1);
		pane1.setBounds(12, 10, 400, 50);
		JLabel title = new JLabel("学生个人信息");
		title.setFont(new java.awt.Font("Dialog", 0, 18));
		title.setForeground(Color.RED);
		pane1.add(title);

		JPanel pane2 = new JPanel();
		jf.add(pane2);
		pane2.setBounds(12, 60, 400, 50);
		JLabel xuehao = new JLabel("学号 :");

		pane2.add(xuehao);
		final JTextField textField1 = new JTextField(); // 创建一个单行输入框
		textField1.setEditable(true); // 设置输入框允许编辑
		textField1.setColumns(11); // 设置输入框的长度为11个字符
		// String 学号=textField1.getText();
		// System.out.println(学号);
		pane2.add(textField1);

		JLabel xingming = new JLabel("姓名 :");
		pane2.add(xingming);
		final JTextField textField2 = new JTextField();
		textField2.setEditable(true);
		textField2.setColumns(4);
		pane2.add(textField2);
		jf.add(pane2);

		JPanel pane3 = new JPanel();
		jf.add(pane3);
		pane3.setBounds(12, 110, 400, 50);
		JLabel xingbie = new JLabel("性别 :");
		pane3.add(xingbie);
		JRadioButton button[] = new JRadioButton[2];
		ButtonGroup group = new ButtonGroup();// ,ButtonGroup并不是组件,所以不用add进Frame中
		button[0] = new JRadioButton("男");
		group.add(button[0]);
		group.setSelected(button[0].getModel(),true);//重置
		button[1] = new JRadioButton("女");
		group.add(button[1]);
		pane3.add(button[0]);
		pane3.add(button[1]);

		JPanel pane4 = new JPanel();
		jf.add(pane4);
		pane4.setBounds(12, 160, 400, 50);
		JLabel banji = new JLabel("班级 :");
		pane4.add(banji);
		JComboBox<String> cmb = new JComboBox<String>(); // 创建JComboBox
		cmb.addItem("一班"); // 向下拉列表中添加一项
		cmb.addItem("二班");
		pane4.add(cmb);

		JPanel pane5 = new JPanel();
		jf.add(pane5);
		pane5.setBounds(12, 210, 400, 50);
		JLabel shuoming = new JLabel("个人说明 :");
		pane5.add(shuoming);
		JTextArea jta = new JTextArea(3, 10);
		pane5.add(jta);

		JPanel pane6 = new JPanel();
		jf.add(pane6);
		pane6.setBounds(12, 350, 400, 50);
		JButton jb1 = new JButton("重置");
		pane6.add(jb1);
		jb1.addActionListener((actionEvent -> {
			System.out.println("我点击了按钮");
			group.setSelected(button[0].getModel(),true);
			textField1.setText("");
			textField2.setText("");
			jta.setText("");
			cmb.setSelectedIndex(0);
		}));
		JButton jb2 = new JButton("提交");
		pane6.add(jb2);
		jb2.addActionListener((actionEvent -> {
			System.out.println("我点击了按钮");
			// Year=Year-1;
			// String 学号=jf.pane2.textField1.getText();
			String 学号 = textField1.getText();
			String 姓名 = textField2.getText();
			String 性别;
			if (button[0].isSelected())
				性别 = "男";
			else
				性别 = "女";
			String 班级 = cmb.getSelectedItem().toString();
			JOptionPane.showMessageDialog(null, "学号:" + 学号 + " 姓名:" + 姓名 + " 性别:" + 性别 + " 班级:" + 班级);
		}));

		jf.setLayout(null);// 取消默认布局管理器
		// jf.setBounds(Frame_X, Frame_Y, Frame_W, Frame_H);
		jf.setVisible(true);
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值