Java课程实验(四)用户信息注册界面——主要涉及图形界面的知识点

本次实验所涉及知识点

  1. 了解Java系统图形用户界面的工作原理和界面设计步骤
  2. 掌握图形用户界面的各种常用组件的使用方法
  3. 掌握图形用户界面各种布局策略的设计与使用
  4. 了解图形用户界面的事件响应机制

编写程序,实现一个用户信息注册界面

要求包括以下内容:用户名,密码,性别(用单选组件),专业选择(用下拉列表组件),注册按钮,并要求编写注册按钮事件,将输入的用户名、密码、性别和专业输出。
实现效果图如下:
实现效果图
实现效果图

package 实验报告4_5;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class Register {

	public static void main(String[] args) {
		// 1、 编写程序,实现一个用户信息注册界面,要求包括以下内容:
		//用户名,密码,性别(用单选组件),专业选择(用下拉列表组件),
		//注册按钮,并要求编写注册按钮事件,将输入的用户名、密码、性别和专业输出。
		SwingUtilities.invokeLater(new Runnable(){
			public void run() {
				register();
			}
		});
	}
	public static void register(){
		//创建新窗口
		JFrame jf=new JFrame("用户信息注册界面");
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口时,一同结束后台程序。
		jf.setSize(500,300);
		jf.setVisible(true);//设置窗体可见
		jf.setLayout(new BorderLayout());//设置布局格式
		//新建用户名部分组件
		JLabel yhm = new JLabel("用户名:");
		final JTextField yhmtext = new JTextField(20);
		JPanel user = new JPanel();
		user.add(yhm);
		user.add(yhmtext);
		//新建用户名部分组件
		JLabel mm = new JLabel("密码:");
		final JPasswordField mmtext = new JPasswordField(20);
		JPanel pass = new JPanel();
		pass.add(mm);
		pass.add(mmtext);
		//将用户名与密码放至一个JPanel中
		JPanel start = new JPanel();
		start.setLayout(new BorderLayout());
		start.add(user,BorderLayout.PAGE_START);
		start.add(pass,BorderLayout.CENTER);
		jf.add(start,BorderLayout.PAGE_START);
		//新建性别组件(单选)
		JLabel xb = new JLabel("性别:");
		ButtonGroup group = new ButtonGroup();
		final JRadioButton rb1 = new JRadioButton("男");
		final JRadioButton rb2 = new JRadioButton("女");
		group.add(rb1);
		group.add(rb2);
		JPanel sex = new JPanel();
		sex.add(xb);
		sex.add(rb1);
		sex.add(rb2);
		//新建专业选择组件(下拉式组件)
		JLabel zy = new JLabel("专业选择:");
		final JComboBox<String> zyxz = new JComboBox<String>();
		zyxz.addItem("请选择专业");
		zyxz.addItem("计算机科学与技术");
		zyxz.addItem("物联网工程");
		zyxz.addItem("人工智能");
		zyxz.addItem("电气工程及其自动化");
		JPanel xz = new JPanel();
		xz.add(zy);
		xz.add(zyxz);
		//将性别和专业选择放至一个JPanel中
		JPanel center = new JPanel();
		center.setLayout(new BorderLayout());
		center.add(sex,BorderLayout.PAGE_START);
		center.add(xz,BorderLayout.CENTER);
		jf.add(center,BorderLayout.CENTER);
		//新建注册按钮,并放至信息注册界面最底部
		JButton zc = new JButton("注册");
		jf.add(zc,BorderLayout.PAGE_END);
		//定义一个JDialog对话框
		final JDialog jg = new JDialog(jf,"注册结果界面",true);
		jg.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
		jg.setSize(300, 300);
		final JTextArea cg = new JTextArea();
		jg.add(cg);
		//为注册按钮设置事件
		zc.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) {
				if(zyxz.getSelectedItem().equals("请选择专业")){
					cg.append("不好意思,注册失败!\n");
					cg.append("专业选择不能为空!\n");
					jg.setVisible(true);
				}else{
					cg.append("恭喜你,注册成功!\n");
				    cg.append("用户名为:"+yhmtext.getText()+"\n");
				    cg.append("密码为:"+String.valueOf(mmtext.getPassword())+"\n");
				    if(rb1.isSelected()){
					    cg.append("性别为:男\n");
				    }else{
					    cg.append("性别为:女\n");
				    }
				    cg.append("专业为:"+zyxz.getSelectedItem()+"\n");
				    jg.setVisible(true);
			    }
				cg.setText("");
			}
				
			
		});
	}
}
  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值