编写Java程序,使用Swing布局管理器和常用控件,实现仿QQ登录界面
返回本章节
返回作业目录
需求说明:
使用Swing布局管理器和常用控件,实现仿QQ登录界面

实现思路:
创建登录界面的类QQLogin,该类继承父类JFrame,在该类中创建无参数的构造方法,在构造方法中,设置窗体大小为宽355、高265,窗体的布局格式为绝对定位,通过this.setResizable(false)方法设置窗体大小不能改变。
创建初始化方法,在该方法中,创建图10.12中的相关组件,并在该方法中合理设置各组件之间的位置。在构造方法中调用该初始化方法。
素材链接:http://pan-yz.chaoxing.com/share/info/deecb7261a4cc4ea
实现代码:
package com.tencent.qq;
import javax.swing.JFrame;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class QQLogin extends JFrame {
public QQLogin() {
this.setBounds(700, 300, 600, 454);
this.setTitle("QQ登录界面");
this.setLayout(null);
this.setResizable(false);
Icon icon1 = new ImageIcon("img/logo.jpg");
JLabel img1 = new JLabel(icon1);
img1.setBounds(0, 0, 600, 154);
Icon icon2 = new ImageIcon("img/icon.jpg");
JLabel img2 = new JLabel(icon2);
img2.setBounds(80, 170, 110, 100);
JTextField userTest = new JTextField();
userTest.setBounds(200, 185, 250, 30);
JPasswordField pawTest = new JPasswordField();
pawTest.setBounds(200, 230, 250, 30);
JLabel zczh = new JLabel("注册账号");
zczh.setBounds(460, 100, 200, 200);
JLabel zhmm = new JLabel("找回密码");
zhmm.setBounds(460, 145, 200, 200);
JComboBox ComboBox = new JComboBox();
ComboBox.addItem("在线");
ComboBox.addItem("离开");
ComboBox.addItem("忙碌");
ComboBox.addItem("隐身");
ComboBox.setBounds(95, 280, 85, 25);
JCheckBox jzmm = new JCheckBox("记住密码");
jzmm.setBounds(220, 270, 100, 50);
JCheckBox zddl = new JCheckBox("自动登录");
zddl.setBounds(350, 270, 100, 50);
JButton dzh = new JButton("多账号");
dzh.setBounds(50, 340, 105, 30);
JButton sz = new JButton("设置");
sz.setBounds(180, 340, 105, 30);
JButton dl = new JButton("登录");
dl.setBounds(420, 340, 105, 30);
this.add(img1);
this.add(img2);
this.add(userTest);
this.add(pawTest);
this.add(zczh);
this.add(zhmm);
this.add(ComboBox);
this.add(jzmm);
this.add(zddl);
this.add(dzh);
this.add(sz);
this.add(dl);
}
public static void main(String[] args) {
QQLogin login = new QQLogin();
login.setVisible(true);
}
}
编写Java程序,使用Swing布局管理器和常用控件,实现仿QQ登录界面的更多相关文章
- 编写Java程序,使用Swing布局管理器与常用控件,实现用户登录界面
返回本章节 返回作业目录 需求说明: 使用Swing布局管理器与常用控件,实现用户登录界面 实现思路: 创建用户登录界面的类LoginFrame,在该类中创建无参数的构造方法,在构造方法中,设置窗体大 ...
- Swing——布局管理器
前言 在编写图形界面时,总是需要考虑的就是组件放在哪里,组件怎么大才合适.在Swing中就有现成的布局管理器帮我们做这些事情,我们不必写代码去一一安排.下面将介绍什么是布局管理器.Swing中常用布局 ...
- Java Swing布局管理器GridBagLayout的使用示例 [转]
GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...
- 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)
5.Java-Swing常用布局管理器 应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...
- Swing布局管理器介绍
创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...
- Swing布局管理器
在Swing中使用的所有布局管理器都可以实现LayoutManager接口.Swing中有五种常见的布局管理器分别为FlowLayout.BorderLayout.GridLayout.CardLay ...
- JAVA简单的网格布局管理器--JAVA基础
网格布局管理器: GridLayoutDemo.java: import java.awt.GridLayout;import javax.swing.JButton;import javax.swi ...
- 【java】浅析java组件中的布局管理器
这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...
- java图形用户界面边界布局管理器
总结:不同方向的组件,所用的板是不同的: package com.moc; //用布局写一个界面 ///运用边界布局 //2个按钮在北,2个按钮在南 //中央一个大按钮 //将同一方向的组件封装后布局 ...
随机推荐
- MapStruct对象转换
第一次看到 MapStruct 的时候, 我个人非常的开心.因为其跟我内心里面的想法不谋而合. 1 MapStruct 是什么? 1.1 JavaBean 的困扰 对于代码中 JavaBean之间的转 ...
- Java中特殊的类——Object类
Java中特殊的类--Object类 1.Object类的概述 Object类是java默认提供的类.Java中除了Object类,所有的类都是有继承关系的.默认会继承Object类,即所有的对象都可 ...
- spring认证的一些核心类
SecurityContextHolder, to provide access to the SecurityContext. SecurityContext: to hold the Authen ...
- RHEL 6.5 安装ORACEL11gR2
1.关闭selinux,用vi /etc/selinux/config selinux=disabled 2.使用yum安装rpm yum -y install compat-db compat-db ...
- 时间同步之pxe,cobbler,dhcp
ntpdate 时间同步 同步方法 ntpdate ntp服务器IP 例: ntpdate 192.168.37.11 自动运行同步时间脚本 crontab -e * */1 * * * /usr/s ...
- eclips 配置一个tomcat,启动多个不同端口的web项目
前提: 记录这个文章是因为在网上查资料,很多都是,用eclips.配置多个tomcat,就像下面图这样配置两个tomcat 去启动不同的web: 运动多个web 项目,设置不同的端口,需要多个tomc ...
- feign中开启熔断的书写步骤
/** 1.在pom.xml中引入依赖 2.在application.yaml中开启hystrix 3.在方法上配置熔断类 4.书写接口的实现类 **/ //1.在pom.xml中引 ...
- 12.Vue.js 表单
这节我们为大家介绍 Vue.js 表单上的应用. 你可以用 v-model 指令在表单控件元素上创建双向数据绑定. <div id="app"> <p>in ...
- SVM中的软间隔最大化与硬间隔最大化
参考文献:https://blog.csdn.net/Dominic_S/article/details/83002153 1.硬间隔最大化 对于以上的KKT条件可以看出,对于任意的训练样本总有ai= ...
- Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截
近日,华为云安全团队关注到Apache Log4j2 的远程代码执行最新漏洞.Apache Log4j2是一款业界广泛使用的基于Java的日志工具,该组件使用范围广泛,利用门槛低,漏洞危害极大.华为云 ...