用Swing创建一个“注册页面”

package com.whut.sw;

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

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

public class Lianxi extends JFrame implements ActionListener{
	//创建JPanel对象
	private JPanel jp = new JPanel();
	//创建复选框数组
	private JCheckBox[] jcbArray = {new JCheckBox("上网"),new JCheckBox("运动")};
	//创建单选框按钮数组
	private JRadioButton[] jrbArray = {new JRadioButton("男"),new JRadioButton("女",true)};
	//创建按钮数组
	private JButton[] jbArray = {new JButton("提交"),new JButton("清空")};
	//创建标签数组
	private JLabel[] jlArray = {new JLabel("性别"),new JLabel("爱好"),new JLabel("输入内容为:")};
	//创建文本框
	private JTextField jtf = new JTextField();
	//创建按钮组
	private ButtonGroup bg = new ButtonGroup();
	public Lianxi(){
		//设置JPanel布局管理器
		jp.setLayout(null);
		//对各个控件进行控制
		for(int i=0;i<2;i++){
			//设置单选按钮与复选按钮的大小与位置
			jrbArray[i].setBounds(40+i*100, 40, 80, 30);
			jcbArray[i].setBounds(40+i*120, 100, 120, 30);
			//将单选按钮与复选按钮添加到JPanel中
			jp.add(jrbArray[i]);
			jp.add(jcbArray[i]);
			//为单选按钮与复选按钮,注册动作事件监听器
			jrbArray[i].addActionListener(this);
			jcbArray[i].addActionListener(this);
			//将单选按钮添加到按钮组中
			bg.add(jrbArray[i]);
			if(i>1) continue;
			//设置标签与普通按钮的大小位置
			jlArray[i].setBounds(20, 20+i*50, 80, 30);
			jbArray[i].setBounds(400+i*120, 200, 80, 26);
			//将标签与普通按钮添加到JPanel中
			jp.add(jlArray[i]);
			jp.add(jbArray[i]);
			//为普通按钮,注册动作监听器
			jbArray[i].addActionListener(this);
			
		}
		//设置调查结果的标签的大小位置,并将其添加到JPanel中
		jlArray[2].setBounds(20, 150, 120, 30);
		jp.add(jlArray[2]);
		//设置调查结果的文本框的大小位置,并将其添加到JPanel中
		jtf.setBounds(120, 150, 500, 26);
		jp.add(jtf);
		//设置显示调查结果的文本框为不可编辑状态
		jtf.setEditable(false);
		//将JPanel添加到窗体
		this.add(jp);
		//设置窗体的标题、大小位置及可见性
		this.setTitle("注册页面");
		this.setBounds(100, 100, 700, 280);
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==jbArray[1]){
			//执行“清空”操作
			bg.clearSelection();
			for(int i=0;i<jcbArray.length;i++)
				jcbArray[i].setSelected(false);
			jtf.setText(" ");
		}
		else{
			//创建两个临时字符串
			StringBuffer temp1 = new StringBuffer("你是一个");
			StringBuffer temp2 = new StringBuffer();
			for(int i=0;i<2;i++){
				//获取年龄段的选中值
				if(jrbArray[i].isSelected()){
					temp1.append(jrbArray[i].getText());
				}
				//获取爱好的选中值
				if(jcbArray[i].isSelected()){
					temp2.append(jcbArray[i].getText());
				}
			}
			//打印结果
			if(temp2.length()==0){
				//如果没有选取爱好
				jtf.setText("兴趣爱好选项不能为空!!!");
			}
			else
			{
				//选取了爱好
				temp1.append("生,你比较喜欢");
				temp1.append(temp2.substring(0,temp2.length()));
				jtf.setText(temp1.append("。").toString());
			}
		}		
	}
	public static void main(String[] args) {
		Lianxi x = new Lianxi();
	}

}



创建一个有单选框、复选框、文本框、确认和清空按钮的注册页面,代码如下(这里给出代码的地址):

 https://code.csdn.net/snippets/341354

 结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值