一、使用java Swing写个登陆界面,感受一下布局管理器的特性和熟悉一下控件的使用

package com.swing;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.LineBorder; /**
* java中最常用的三种布局管理器 ,布局管理器中的控件将失去setSize与setBound的功能
* 1、BorderLayout --》分为东西南北中,具有自动伸缩的能力,也就是你的控件是多大,相当于html中的内联元素
* 就会扩张到多大,直到所有的控件充满你设置的JFrame空间位置,东,向西伸缩,高度默认充满父控件,中,向四周伸缩
* 西,向东伸缩,,高度充满父控件,南,向北伸缩,宽度充满父控件,北,向南伸缩。宽度充满父控件
* 2、GridLayout -- 》网格布局,根据行列数和水平以及垂直间距来自动平均分配空间
* 3、FlowLayout -- 》流布局,可以设置它从什么位置开始布局,空间为控件默认的大小,相当于html中的内联元素
* @author may
*
*/ public class Login extends JFrame { private static final long serialVersionUID = 5083131604476590600L; private JPanel main;// 主体
private JPanel header;// 头部panel
private JPanel body;// 窗体
// 布局管理的每个空位只能放一个控件,所以需要放JPanel
private JPanel username;// 用户名输入栏
private JPanel password;// 用户密码输入栏
private JLabel name_label;
private JTextField name_text;
private JLabel pass_label;
private JLabel header_text;
private JPanel login;
private JButton submit;
private JPasswordField pass_text;
private JLabel tip; public Login() {
this.setSize(, );
// 窗口不能变
this.setResizable(false);
// 头部panel,类似html页面的div
header = new JPanel(); header_text = new JLabel("<html>登陆界面</html>");
// 设置水平居中
header_text.setHorizontalAlignment(JLabel.CENTER);
// 设置字体
header_text.setFont(new Font("宋体", Font.BOLD, ));
// 设置背景色
header_text.setBackground(new Color(, , ));
// 在布局管理器中设置控件的大小是无效的
// header_text.setSize(300, 20);
// 设置手型
header.setCursor(new Cursor(Cursor.MOVE_CURSOR));
// 设置边框
header.setBorder(new LineBorder(new Color(, , )));
header.add(header_text);
// 设置登陆体5行1列,垂直10像素
body = new JPanel(new GridLayout(, , , ));
body.setBackground(Color.white);
// 设置水平布局,默认水平居中开始
username = new JPanel(new FlowLayout(FlowLayout.CENTER));
username.setBackground(Color.white);
// 用户名
name_label = new JLabel("<html>账 号:</html>");
// 用户名输入框
name_text = new JTextField();
username.add(name_label);
username.add(name_text);
// 密码输入
pass_label = new JLabel("密 码:");
pass_text = new JPasswordField();
password = new JPanel();
password.setBackground(Color.white);
password.add(pass_label);
password.add(pass_text);
// 登陆
submit = new JButton("登陆");
submit.setBackground(Color.green);
submit.setFont(new Font("宋体", Font.BOLD, ));
submit.setForeground(Color.white);
login = new JPanel(new FlowLayout());
login.setBackground(Color.white);
login.add(submit);
// 空白panel,只是为了占位
JPanel jpanel1 = new JPanel();
jpanel1.setBackground(Color.white);
body.add(jpanel1);
body.add(username);
body.add(password);
body.add(login);
tip = new JLabel("注册新用户|忘记密码?");
tip.setHorizontalAlignment(JLabel.RIGHT);
tip.setVerticalAlignment(JLabel.NORTH);
body.add(tip);
main = new JPanel(new BorderLayout());
main.add(body);
main.setBackground(Color.white);
main.add(header, BorderLayout.NORTH);
this.getContentPane().add(main, BorderLayout.CENTER);
// 设置为水平居中
this.setLocationRelativeTo(null);
// 设置点击关闭按钮时,关闭窗体,推出程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); } public static void main(String[] args) {
new Login();
} }

 二、界面

javaSwing的更多相关文章

  1. JavaSwing JScrollPane的使用

    JavaSwing JScrollPane的使用: 参考:http://duyz.blog.ifeng.com/article/340649.html package com.srie.test; i ...

  2. 通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY

    package keshe; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; ...

  3. Java-Swing常用布局管理器

    http://www.cnblogs.com/hthuang/p/3460234.html   5.Java-Swing常用布局管理器       应用布局管理器都属于相对布局,各组件位置可随界面大小 ...

  4. JavaSwing程序设计(目录)

    一.JavaSwing 概述 JavaSwing 图形界面概述 二.JavaSwing 基本组件 JLabel(标签) JButton(按钮) JTextField(文本框) JPasswordFie ...

  5. JavaSwing 版本的简单扫雷游戏

    JavaSwing 版本的简单扫雷游戏 一.扫雷游戏的基本规则 1.扫雷游戏分为初级.中级.高级和自定义四个级别. 单击游戏模式可以选择"初级"."中级".&q ...

  6. Java-Swing中使用Web富文本编辑器

    资料下载 (截取出了邮件发送的功能.) 2018/11/10 因为要 win7 电脑 IE 8 的原因,使用了 jxBrower 拓展,更容易使用,参考链接(推荐) 问题介绍 window客户端软件的 ...

  7. JavaSwing 船只停靠管理可视化(五)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

  8. JavaSwing 船只停靠管理可视化(四)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

  9. JavaSwing 船只停靠管理可视化(三)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

  10. JavaSwing 船只停靠管理可视化(二)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

随机推荐

  1. terminator 安装及使用

    1. 安装 $ sudo apt-get install terminator 2. 右键设置首选项 背景设置为0.8透明度, 字体挤在一起:在ubuntu下请选择mono后缀的字体就可以了 3. 使 ...

  2. HttpWebRequest-header设置

    http://www.cnblogs.com/yczz/archive/2012/06/01/2530484.html http://blog.csdn.net/htsnoopy/article/de ...

  3. emacs不能使用中文输入法

    参考 http://blog.csdn.net/nomasp/article/details/52138501 根据Fcitx的介绍:当LC_CTYPE为英文时,在Emacs上可能无法使用输入法. : ...

  4. PHP 返回13位时间戳

    13位时间戳生成函数如下所示: private function getMillisecond() { list($t1, $t2) = explode(' ', microtime()); retu ...

  5. [hihoCoder1329] 带Split和Merge的Treap

    题目链接:http://hihocoder.com/problemset/problem/1329 这题本来是学Splay的题,但是我为了练习Treap的Split和Merge操作,就借来用一用. 就 ...

  6. (String). Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  7. HBase自动分区

    HBase扩展和负载均衡的基本单位是Region.Region从本质上说是行的集合.当Region的大小达到一定的阈值,该Region会自动分裂(split),当然也可能是合并(merge),合并可以 ...

  8. java.map使用

    Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.       Map的接口       Map---实现Map       Map.Entry--Map的内部 ...

  9. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  10. js+html5 +devexpress属性总结

    //获取某行某列的值 onSelectionChanged: function (selectedItems) { var data = selectedItems.selectedRowsData[ ...