设计实现如图所示的个人信息注册。包含单选按钮、多选按钮、下拉框事件。

Zuoye类:

package example02;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField; public class Zuoye extends JFrame{
//成员变量
JPanel pnlMain;
JLabel lblUserName,lblUserPwd,lblSex,lblHobby,lblLocation;
JRadioButton rabM,rabW;
ButtonGroup btgSex;//创建是为了使rabM,rabW同组
JCheckBox chkRead,chkSwim,chkRun;
JComboBox<String> cmbLocation;
DefaultComboBoxModel<String> dcmLocation;
String location="";
JTextField txtUserName,txtJob;
JButton btnEnsure,btnCancel;
JTextArea txt;
//构造方法
public Zuoye() {
pnlMain=new JPanel(null);
lblUserName=new JLabel("姓名:");
txtUserName=new JTextField();
lblUserPwd=new JLabel("职业:");
txtJob=new JTextField();
lblSex=new JLabel("性别:");
rabM=new JRadioButton("男");
rabW=new JRadioButton("女");
btgSex=new ButtonGroup();
lblHobby=new JLabel("兴趣爱好:");
chkRead=new JCheckBox("阅读");
chkSwim=new JCheckBox("游泳");
chkRun=new JCheckBox("跑步");
lblLocation=new JLabel("所在地:");
cmbLocation=new JComboBox<String>();
dcmLocation=new DefaultComboBoxModel<String>();
btnEnsure=new JButton("确认");
btnCancel=new JButton("取消");
txt=new JTextArea();
init();
}
//初始化方法
private void init() {
this.setBounds(550,200,270,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("My first window");
this.setResizable(false);
//设置各个控件的位置和坐标
lblUserName.setBounds(20,20,75,22);
lblUserPwd.setBounds(20,60,75,22);
lblSex.setBounds(20,90,75,22);
lblHobby.setBounds(20, 120, 75, 22);
lblLocation.setBounds(20, 155, 75, 22);
txtUserName.setBounds(90,20,120,22);
txtJob.setBounds(90,60,120,22);
rabM.setBounds(90,90,40,22);
rabW.setBounds(140,90,40,22);
chkRead.setBounds(85, 120, 57, 22);
chkSwim.setBounds(140, 120, 57, 22);
chkRun.setBounds(195, 120, 57, 22);
cmbLocation.setBounds(100, 155, 70, 22);
setCmbLocationData();
btnEnsure.setBounds(50,200,75,22);
btnCancel.setBounds(150,200,75,22);
txt.setBounds(70,240,140,90);
txt.setVisible(false);
//将所有控件压入容器中
btgSex.add(rabM);
btgSex.add(rabW);
pnlMain.add(lblUserName);
pnlMain.add(lblUserPwd);
pnlMain.add(txtUserName);
pnlMain.add(txtJob);
pnlMain.add(lblSex);
pnlMain.add(rabM);
pnlMain.add(rabW);
pnlMain.add(lblHobby);
pnlMain.add(chkRead);
pnlMain.add(chkRun);
pnlMain.add(chkSwim);
pnlMain.add(lblLocation);
pnlMain.add(cmbLocation);
pnlMain.add(btnEnsure);
pnlMain.add(btnCancel);
pnlMain.add(txt);
this.add(pnlMain);
this.setVisible(true);
//使用itemListener匿名监听下拉框控件
cmbLocation.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
location=cmbLocation.getSelectedItem().toString();
}
});
//使用按钮监听
btnEnsure.addActionListener(new ZuoyeFrame_btnEnsure_ActionListener(this));
//使用内部类按钮监听
btnCancel.addActionListener(new ZuoyeFrame_btnQuit_ActionListener());
}
//设计下拉框里的选项
public void setCmbLocationData() {
dcmLocation.addElement("北京");
dcmLocation.addElement("上海");
dcmLocation.addElement("深圳");
dcmLocation.addElement("广州");
dcmLocation.addElement("赣州");
cmbLocation.setModel(dcmLocation);
}
//退出按钮监听内部类
class ZuoyeFrame_btnQuit_ActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
txt.setVisible(false);
}
}
public static void main(String[] args) {
new Zuoye();
}
}

ZuoyeFrame_btnEnsure_ActionListener类

package example02;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; //登陆按钮监听类
public class ZuoyeFrame_btnEnsure_ActionListener implements ActionListener{
Zuoye zy;
String gender="";
String hobby="";
public ZuoyeFrame_btnEnsure_ActionListener(Zuoye zy) {
this.zy = zy;
}
@Override
public void actionPerformed(ActionEvent e) {
zy.txt.setVisible(true);
zy.txt.setLineWrap(true);
zy.txt.setText("姓名:"+zy.txtUserName.getText()+'\n');
zy.txt.append("职业:"+zy.txtJob.getText()+'\n'); if(zy.rabM.isSelected()) {
gender+="男";
}else if(zy.rabW.isSelected()) {
gender+="女";
}
zy.txt.append("性别:"+gender+'\n'); if(zy.chkRead.isSelected()) {
hobby+="阅读";
}
if(zy.chkSwim.isSelected()) {
hobby+="游泳";
}
if(zy.chkRun.isSelected()) {
hobby+="跑步";
}
zy.txt.append("兴趣爱好:"+hobby+'\n'); zy.txt.append("所在地:第"+(zy.cmbLocation.getSelectedIndex()+1)+"项 "+zy.location);
}
}

制作用户登录界面(JAVA实现)的更多相关文章

  1. html简约风用户登录界面网页制作html5-css-jquary-学习模版

    2018--12-12 喜迎双十二,咳咳,,,,我不是打广告哈,购物的节日也不要忘记学习. 大家好,我又来了. 今天抽出来空把自己的学习心得给大家分享,这是一个可开发可扩展的用户登录界面,用于开发学习 ...

  2. 编写Java程序,使用Swing布局管理器与常用控件,实现用户登录界面

    返回本章节 返回作业目录 需求说明: 使用Swing布局管理器与常用控件,实现用户登录界面 实现思路: 创建用户登录界面的类LoginFrame,在该类中创建无参数的构造方法,在构造方法中,设置窗体大 ...

  3. Android studio 开发一个用户登录界面

    Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...

  4. jQuery和CSS3炫酷GOOGLE样式的用户登录界面

    这是一款使用jQuery和CSS3打造的GOOGLE样式的用户登录界面特效.该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作.username和password输入框採用浮动标签特效. ...

  5. 很漂亮的用户登录界面HTML模板

    效果预览:http://keleyi.com/keleyi/phtml/divcss/21.htm HoverTree开源项目实现了分层后,准备实现管理员后台登录,这里先把登录界面的HTML模板整理好 ...

  6. 美化VC界面(用户登录界面)

    源代码:下载 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了.一句俗语:难者不会,会者不难.VC的美化界面编程并没有人们想像的那么难.这篇文章是我写 ...

  7. java web用户登录界面

    做这次实验,主要用到了mysql  java web 的 内容 实验代码: IUserDao.java package com.jaovo.msg.dao; import java.util.List ...

  8. Java Web实现用户登录界面

    一.学习Java Web需要的技术: Java语言基础:算法基础.常用数据结构.编程规范. 掌握常见的数据结构和实用算法:培养良好的编程习惯. Java面向对象:封装.继承.多态等,面向对象程序设计, ...

  9. Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互

    框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java   model文件夹下的 Global ...

随机推荐

  1. bytes,bytearray

    1.bytes.bytearray ---Python3 引入的! bytes:不可变字节序列,bytearray:字节属组,可变 都是连续的空间. 2.字符串与bytes 字符串是字符组成的有序的序 ...

  2. hadoop学习笔记--找到执行hadoop的入口

    参与个hadoop项目,之前没搞过,赶紧学习: 照葫芦画瓢,得到代码是hdfs2local.sh脚本和LiaoNingFilter.jar包,迫不及待用jd-gui打开jar包,搜索到main(在MA ...

  3. 小白用阿里云搭载wordpress个人博客

    阿里云服务已经购买多时,却一直没时间部署内容,借着这次机会自己照着博客园园友的方式用wordpress搭建了个人博客! 创建wordpress的内容就不多说了,直接附链接来源:https://www. ...

  4. 【托业】【怪兽】TEST02

    ★ overturn v.推翻 ★ disciplinary adj.纪律的; 训练的; 惩罚的; ★disciplined 有纪律的 ★discipline v.纪律 ★outlook 态度 ★pe ...

  5. springboot新增swagger2配置

    转自http://www.cnblogs.com/jtlgb/p/8532433.html SpringBoot整合Swagger2 相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人 ...

  6. MVC Views文件夹下js无法访问问题解决方案

    出现这个问题是因为webconfig做的限制,可修改相应Views下的webconfig文件来解决. <system.webServer> <handlers> <rem ...

  7. 爬虫 - 动态分页抓取 游民星空 的资讯 - bs4

    # coding=utf-8 # !/usr/bin/env python ''' author: dangxusheng desc : 动态分页抓取 游民星空 的资讯 date : 2018-08- ...

  8. !!在js中的用法

    var obj = ""; //undefinedconsole.log(!!obj);  //false(强制转换成Boolean类型)

  9. 在Linux下如何使用openssl生成RSA公钥和私钥对

    在<Java实现RSA密钥对并在加解密.加签验签中应用的实例>中,我们有用Java代码生成RSA密钥对,其实在Linux操作系统中,用openssl也是很容易生成密钥对的. 一.如果在ub ...

  10. Quill插入html5的video标签

    quill的video模块插入的是iframe标签,我们需要的是video标签. 1.定义自己的video模块 declare const require: any; const Quill = re ...