返回本章节

返回作业目录


需求说明:

使用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登录界面的更多相关文章

  1. 编写Java程序,使用Swing布局管理器与常用控件,实现用户登录界面

    返回本章节 返回作业目录 需求说明: 使用Swing布局管理器与常用控件,实现用户登录界面 实现思路: 创建用户登录界面的类LoginFrame,在该类中创建无参数的构造方法,在构造方法中,设置窗体大 ...

  2. Swing——布局管理器

    前言 在编写图形界面时,总是需要考虑的就是组件放在哪里,组件怎么大才合适.在Swing中就有现成的布局管理器帮我们做这些事情,我们不必写代码去一一安排.下面将介绍什么是布局管理器.Swing中常用布局 ...

  3. Java Swing布局管理器GridBagLayout的使用示例 [转]

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...

  4. 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    5.Java-Swing常用布局管理器       应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...

  5. Swing布局管理器介绍

    创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/128174 当选 ...

  6. Swing布局管理器

    在Swing中使用的所有布局管理器都可以实现LayoutManager接口.Swing中有五种常见的布局管理器分别为FlowLayout.BorderLayout.GridLayout.CardLay ...

  7. JAVA简单的网格布局管理器--JAVA基础

    网格布局管理器: GridLayoutDemo.java: import java.awt.GridLayout;import javax.swing.JButton;import javax.swi ...

  8. 【java】浅析java组件中的布局管理器

    这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...

  9. java图形用户界面边界布局管理器

    总结:不同方向的组件,所用的板是不同的: package com.moc; //用布局写一个界面 ///运用边界布局 //2个按钮在北,2个按钮在南 //中央一个大按钮 //将同一方向的组件封装后布局 ...

随机推荐

  1. RAC中常见的高级用法-过滤

    filter      过滤信号,使用它可以获取满足条件的信号. - (void)filter { //只有当我们文本框内容长度大于5才想要获取文本框的内容 [[_passWord.rac_textS ...

  2. node.js require() 源码解读

    时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS 格式.这种格式的核心就是 require 语句,模块通过它加载.学习 Node. ...

  3. C# 获取当前目录的父级目录

    Directory.GetParent(System.Environment.CurrentDirectory).FullName

  4. Mysql原有环境部署多个版本

    目录 一.环境准备 二.下载安装包 三.Mysql-5.7单独部署 四.启动Mysql-5.7 五.muliti使用 一.环境准备 原先已经有一个5.6版本的数据库在运行了,当前操作是完全不影响原数据 ...

  5. LuoguP7441 「EZEC-7」Erinnerung 题解

    Content 给定 \(x,y,K\).定义两个数列 \(c,e\),其中 \(c_i=\begin{cases}x\cdot i&x\cdot i\leqslant K\\-K&\ ...

  6. IDE Goland DEBUG报错(could not launch process: decoding dwarf section info at offset 0x0: too short)

    背景: 在升级GO版本到1.11后发现Goland的Debug报错,如下:could not launch process: decoding dwarf section info at offset ...

  7. 谷歌protobuf(protocol-buffers)各种开发语言数据类型转换说明

    官方文档:https://developers.google.cn/protocol-buffers/docs/proto proto2 proto3

  8. docker查看容器元数据、详细信息,查看容器挂载的目录

    通过 docker inspect 175f 查看容器元数据 我们启动docker的时候会挂载目录,但是挂载之后 后面就忘了 如何查看挂载的目录位置呢 可以通过 docker inspect a7a6 ...

  9. JAVAWEB导出word文档,遍历表格数据,导出图片

    这是写的另一个导出word方法:https://www.cnblogs.com/pxblog/p/12790904.html 本次使用的是easypoi框架 官方教程:https://opensour ...

  10. Windows10 c++获取网卡信息(ipv4,子网掩码,网关,mac地址)

    关于 本文样式环境: win10 + vs2017 + c++11 1.说明 算是踩坑吧,先前一直认为一块网卡只能有一个IP. 今天发现结构体中,定义了相关结构: 一块网卡可以用多个IP. 2.连接库 ...