编写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个按钮在南 //中央一个大按钮 //将同一方向的组件封装后布局 ...
随机推荐
- 转 关于HttpClient,HttpURLConnection,OkHttp的用法
转自:https://www.cnblogs.com/zp-uestc/p/10371012.html 1 HttpClient入门实例 1.1发送get请求 1 2 3 4 5 6 7 8 9 10 ...
- MyBatis中sql实现时间查询的方法
<if test="startTime != null and startTime !=''"> AND lTime >= #{startTime} </i ...
- 最小化安装centos ubuntu基础命令
# yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre \ pcre-devel openssl openssl-devel zip ...
- jQuery对象进行方法扩展
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>01 ...
- 『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理
目录 1.独立服务的启动管理 2.独立服务的自启动管理 方式一: 方式二:(推荐) 方式三: 3.验证 1.独立服务的启动管理 (1)使用/etc/init.d/目录中的启动脚本启动服务(推荐) [r ...
- 20 个 .NET 6 新增的 API
DateOnly & TimeOnly .NET 6 引入了两种期待已久的类型 - DateOnly 和 TimeOnly, 它们分别代表DateTime的日期和时间部分. DateOnly ...
- MySQL数据库如何实现增量备份
1 .通过SHOW VARIABLES LIKE '%log_bin%';查看数据库是否开启增量备份log_bin=ON则为开启log_bin=OFF则为关闭 2 .修改mysql配置文件mysql. ...
- UCI数据库_鸢尾花数据集的读取方式
1. 读取数据的第一种方式 [attrib1,attrib2,attrib3,attrb4,class] = textread('iris.data','%f%f%f%f%s','delimiter' ...
- wustctf2020_number_game
第一次碰到这种类型的题目,特地来记录一下 例行检查就不放了 int的取值范围[-2147482648,2147483647] 网上的解释: 绕过第9行的if即可获取shell,v1是无符号整型,我们输 ...
- CF979A Pizza, Pizza, Pizza!!! 题解
Content 小 S 想把一块披萨切成大小.形状都相同的 \((n+1)\) 块(\(n\) 块分给 TA 的 \(n\) 个朋友,还有一块留给自己),试问最小需要切多少块. 数据范围:\(0\le ...