制作用户登录界面(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 ...
随机推荐
- JVM内存模型与垃圾回收
内存模型 1,程序计数器(Program Counter Register):程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器.字节码解 ...
- win10环境下Android SDK下载安装及配置教程
最近在配置Android环境时,发现网上许多教程都是在win7版本下进行配置的且存在许多问题,按照流程无法正确配置环境,因此我在收集网上资料及亲自配置成功的情况下,写出此文章.如有无法配置成功的话,欢 ...
- php 数据库乱码。。。php 移动临时文件
数据库乱码,三个位置 处理好不会乱码 第一前台,传到后台: 第二后台,传到数据库: 第三数据库,存入数据库: 详解 https://www.cnblogs.com/zhoujinyi/p/46188 ...
- spring框架学习之--数据库操作增删改查
基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...
- vi光标移动
1.上下左右移动 k :上移一行 j :下移一行 h :左移一行 l :右移一行 2.移到当前屏幕的首.中.尾部 H :移到当前屏幕的首部 M :移到当前屏幕的中部 L :移到当前屏幕的尾部 ...
- 以管理员身份运行 cmd 删除无权限删除的文件夹
rd 文件夹 PS:删除空文件夹 rd /s 文件夹 PS:删除文件夹,及所有子目录和文件 rd /s/q 文件夹 PS:强制删除文件夹,及所有子目录和文件,不需要提示
- 并发编程实战1-chap1-2-斗者6星
一.线程安全性 1.线程安全关注点:对共享的和可变的状态的访问 2.JAVA同步机制:synchronized.volatile.显示锁.原子变量 3.无状态对象一定是线程安全的:不包含任何域,也不包 ...
- Linux----------开始使用Screen
1.直接在命令行键入screen命令 screen 然后回车就可以创建一个全新的回话窗口 2.screen -ls 查看开启的会话窗口 3.重新连接会话 screen -r 1231 数 ...
- RestTemplate的使用介绍汇总
一 常用方法 https://blog.csdn.net/u012843361/article/details/79893638 二 关于client的选择和设置(通过设置ClientHttpRequ ...
- Centos7 下安装mysql5.7.17(glibc版)
一.安装前的检查 1.1 检查 linux 系统版本 [root@localhost ~]# cat /etc/system-release 1.2 检查是否安装了 mysql [root@local ...