制作用户登录界面(JAVA实现)
设计实现如图所示的个人信息注册。包含单选按钮、多选按钮、下拉框事件。
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实现)的更多相关文章
- html简约风用户登录界面网页制作html5-css-jquary-学习模版
2018--12-12 喜迎双十二,咳咳,,,,我不是打广告哈,购物的节日也不要忘记学习. 大家好,我又来了. 今天抽出来空把自己的学习心得给大家分享,这是一个可开发可扩展的用户登录界面,用于开发学习 ...
- 编写Java程序,使用Swing布局管理器与常用控件,实现用户登录界面
返回本章节 返回作业目录 需求说明: 使用Swing布局管理器与常用控件,实现用户登录界面 实现思路: 创建用户登录界面的类LoginFrame,在该类中创建无参数的构造方法,在构造方法中,设置窗体大 ...
- Android studio 开发一个用户登录界面
Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...
- jQuery和CSS3炫酷GOOGLE样式的用户登录界面
这是一款使用jQuery和CSS3打造的GOOGLE样式的用户登录界面特效.该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作.username和password输入框採用浮动标签特效. ...
- 很漂亮的用户登录界面HTML模板
效果预览:http://keleyi.com/keleyi/phtml/divcss/21.htm HoverTree开源项目实现了分层后,准备实现管理员后台登录,这里先把登录界面的HTML模板整理好 ...
- 美化VC界面(用户登录界面)
源代码:下载 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了.一句俗语:难者不会,会者不难.VC的美化界面编程并没有人们想像的那么难.这篇文章是我写 ...
- java web用户登录界面
做这次实验,主要用到了mysql java web 的 内容 实验代码: IUserDao.java package com.jaovo.msg.dao; import java.util.List ...
- Java Web实现用户登录界面
一.学习Java Web需要的技术: Java语言基础:算法基础.常用数据结构.编程规范. 掌握常见的数据结构和实用算法:培养良好的编程习惯. Java面向对象:封装.继承.多态等,面向对象程序设计, ...
- Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互
框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java model文件夹下的 Global ...
随机推荐
- 音视频下载Chrome插件 官方主页
2019年3月20日前的旧版有不能下载的情况,请使用下面的新版 音视频下载是个点击图标后就能下载网页里正在播放的音视频文件的软件 下载:官方下载 百度网盘 Chr ...
- IAB303 Data Analytics Assessment Task
Assessment TaskIAB303 Data Analyticsfor Business InsightSemester I 2019Assessment 2 – Data Analytics ...
- Python的基本语法2
一.运算符 # 算术运算符, +, -, *, /, //, %, **, 注意//为整除 # 赋值运算符, =, +=, -=, *=, /=, //= ,%=, **= # 比较运算符, ==, ...
- Vue.js中使用select选择下拉框
在Vue.js中使用select选择下拉框有两种方法: 第一种: Add.html: <select v-model="sysNotice.noticeType" id=&q ...
- 洛谷P4640 王之财宝 [BJWC2008] 数论
正解:容斥+Lucas+组合数学 解题报告: 传送门! 和上一篇题解的题差不多,,,双倍经验趴大概算 还是说下还是有点儿区别的来着$QwQ$ 两个小差别分别港下$QwQ$ 首先有$m-n$件是无穷个的 ...
- oracle多行合并一行
以上图为例 执行SQL语句: select d.group_id,to_char(wm_concat(d.tag)) from Imglib_Group_Tag d where d.group_id= ...
- 在windows上搭建git server Gitblit
在Windows上搭建Git Server 第1步:下载Java并安装Java.我这里下载的是jdk1.7.0_79 第2步:配置Java环境变量 右键” 计算机” => ”属性” => ...
- python range的用法小题
题目(1)for i in range(10): print(i) 结果:123456789 题目(2) for lst in range(100): if lst % 7 == 0 and str( ...
- tensorflow(4)踩过的一些坑
版本问题 1.1 版本的一个BUG ValueError: Variable rnn/basic_lstm_cell/weights already exists, disallowed. 结合这个文 ...
- python的库小全
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...