- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习05 密码验证界面.doc
练习05 密码验证界面
本例知识点 一句话讲解 新学知识 GridBagLayout类 界面布局管理 使用GridBagConstraints类 生成界面布局的容器 已学知识 JFrame类 制作界面 使用String类 管理字符串 一、练习具体要求
本例制作密码验证界面,运行效果如图5-1所示。执行本例实例后,将创建一个验证密码的界面,可以输入名称和密码,密码将以“*”显示。本实例的知识点有:布局管理器(GridBagLayout)类的应用,网格的创建和设计。
二、程序及注释
(1)编程思路:为了在Java中利用界面上的某些类型的格式,需要使用布局管理器类。布局管理器有多种布局方式,本例介绍网格包(GridBagLayout)布局管理器。GridBagLayout是一种网格式的布局管理器,他将容器空间进行划分成若干行乘若干列的网格,组件依次放入其中,这种布局管理器以网格为基础,允许组件是用最适当的大小,既可以占多个网格,也可以只占一个网格的一部分。创建一个网格包需要以下步骤:
创建一个GridBagLayout对象并将它定义成当前的布局管理器。
创建GridBagConstraintst的一个新实例。
为某个组件设置约束限制。
将该组件和他的约束限制告诉布局管理器。
将该组件加到容器中。
绘制网格时,每一个组件必须有它自己的单元,但一个组件可以在上下方向跨越多个单元,本例中的OK按钮就跨越了左右两个单元。
(2) 程序实现及注释:
//NamePass.java
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class NamePass extends JFrame {
//建造一个容器
void bulidConstraints(GridBagConstraints gbc,int gx,int gy,int gw,int gh,int wx,int wy){
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;
}
//构造函数
public NamePass(){
super(Username and Password);
setSize(290,110);
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JPanel pane = new JPanel();
pane.setLayout(gridbag);
bulidConstraints(constraints,0,0,1,1,10,40);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
JLabel l = new JLabel(Name:,JLabel.LEFT);
gridbag.setConstraints(l,constraints);
pane.add(l);
bulidConstraints(constraints,1,0,1,1,90,0);
constraints.fill = GridBagConstraints.HORIZONTAL;
JTextField tfname = new JTextField();
gridbag.setConstraints(tfname,constraints);
pane.add(tfname);
bulidConstraints(constraints,0,1,1,1,0,40);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
JLabel l2 = new JLabel(Password,JLabel.LEFT);
gridbag.setConstraints(l2,constraints);
pane.add(l2);
bulidConstraints(constraints,1,1,1,1,0,0);
constraint
文档评论(0)