java swing博客园_javaSwing

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 classLogin 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;//用户密码输入栏

privateJLabel name_label;privateJTextField name_text;privateJLabel pass_label;privateJLabel header_text;privateJPanel login;privateJButton submit;privateJPasswordField pass_text;privateJLabel tip;publicLogin() {this.setSize(320, 250);//窗口不能变

this.setResizable(false);//头部panel,类似html页面的div

header = newJPanel();

header_text= new JLabel("登陆界面");//设置水平居中

header_text.setHorizontalAlignment(JLabel.CENTER);//设置字体

header_text.setFont(new Font("宋体", Font.BOLD, 18));//设置背景色

header_text.setBackground(new Color(242, 242, 242));//在布局管理器中设置控件的大小是无效的//header_text.setSize(300, 20);//设置手型

header.setCursor(newCursor(Cursor.MOVE_CURSOR));//设置边框

header.setBorder(new LineBorder(new Color(242, 242, 242)));

header.add(header_text);//设置登陆体5行1列,垂直10像素

body = new JPanel(new GridLayout(5, 1, 0, 10));

body.setBackground(Color.white);//设置水平布局,默认水平居中开始

username = new JPanel(newFlowLayout(FlowLayout.CENTER));

username.setBackground(Color.white);//用户名

name_label = new JLabel("账 号:");//用户名输入框

name_text = new JTextField(15);

username.add(name_label);

username.add(name_text);//密码输入

pass_label = new JLabel("密 码:");

pass_text= new JPasswordField(15);

password= newJPanel();

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, 15));

submit.setForeground(Color.white);

login= new JPanel(newFlowLayout());

login.setBackground(Color.white);

login.add(submit);//空白panel,只是为了占位

JPanel jpanel1 = newJPanel();

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(newBorderLayout());

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 voidmain(String[] args) {newLogin();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值