博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(四)java-QQ登录界面
阅读量:4291 次
发布时间:2019-05-27

本文共 1703 字,大约阅读时间需要 5 分钟。

登录界面,我们这样分割一下,窗体被分割成两个部分,单独看上面的输入区域,你看看是什么布局,是典型的表格布局,2行2列;再单独看下面的按钮区域,也能看出来是比较典型的FlowLayout。如果我们将上面的输入区域作为一个整体,下面的按钮区域也作为一个整体,这两个组件放在窗体上,整个窗体该用什么布局呢?显然是边框布局,在这个边框布局里,输入区域在中间,按钮区域在下边。

剩下一个问题了,怎么将几个东西组合起来?有一个叫做面板的类来完成这个工作,其实面板类我们用过很多次了,就是绘图中的画图JPanel。需要说明的是,不但JPanel的对象可以放在JFrame的对象上,而且JPanel对象也可以放在另外的JPanel对象上,利用这这样一层层的整合,我们可以组合出非常复杂的界面。

   用户名和密码的字使用JLabel,new的时候将字放到参数里;输入框使用JTextField,而能够将用户输入显示成“*”的密码输入框使用JPasswordField。

package task;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class QQLogin {	public static void main(String[] args) {		// TODO Auto-generated method stub				JFrame w=new JFrame();		w.setSize(250,125);				//new 组件		JLabel labUser=new JLabel("用户名");		JLabel labPass=new JLabel("密码");				JTextField txtUser=new JTextField();		JTextField txtPass=new JTextField();				JButton btnLogin=new JButton("登录");		JButton btnReg=new JButton("注册");		JButton btnCannel=new JButton("取消");						//布置输入面板		JPanel panInput=new JPanel();		panInput.setLayout(new GridLayout(2,2));		   panInput.add(labUser);		  panInput.add(txtUser);		  panInput.add(labPass);		  panInput.add(txtPass);		     	     	     //布置按钮面板	     JButton panButton=new JButton();   //为什么用Jpanel panButton=new JPanel();也可以呢	     panButton.setLayout(new FlowLayout());	     panButton.add(btnLogin);	     panButton.add(btnReg);	     panButton.add(btnCannel);	     	     //布置窗体边框布局	     		w.setLayout(new BorderLayout());		w.add(panInput,BorderLayout.NORTH);		//w.add(txtUser,BorderLayout.WEST);		w.add(panButton,BorderLayout.SOUTH);		w.setVisible(true);	}}

 

你可能感兴趣的文章
Spring切面中的正则表达式
查看>>
一直再说高并发,多少QPS才算高并发?
查看>>
Git恢复之前版本的两种方法reset、revert(图文详解)
查看>>
Maven打包的三种方式
查看>>
电商场景:并发扣库存,怎么保证不超卖又不影响并发性能
查看>>
分布式事务处理方式总结
查看>>
延迟队列有哪些实现方案?说说你的看法
查看>>
厉害了!我们老大半小时把我的springboot项目并发提升几倍
查看>>
Spring 中Bean 的生命周期
查看>>
为什么要用枚举实现单例模式(避免反射、序列化问题)
查看>>
微服务架构下的分布式限流方案思考
查看>>
全网最详细的一篇SpringCloud总结
查看>>
消息中间件中的有序消息,其实是排队但是不能插队
查看>>
不知道分布式事务,还想进互联网大厂
查看>>
mysql为什么使用B+树作为索引的结构
查看>>
mysql索引总结(1)-mysql 索引类型以及创建(文章写的不错!!!)
查看>>
聊聊CAS - 面试官最喜欢问的并发编程专题
查看>>
Spring Boot 中使用一个注解轻松将 List 转换为 Excel 下载
查看>>
高并发环境下,先操作数据库还是先操作缓存?
查看>>
MySQL Explain详解
查看>>