/*
* 烟台大学计算机学院学生
*All right reserved.
*文件名称:java
*作者:孔云
*完成日期:2014年12月2日
*版本号:v1.0
*对任务及求解方法的描述部分:1、建立1个窗口(可用JFrame),窗口标题为“用户登录”;窗口大小自定,布局管理器自定。初始默认为在屏幕上居中显示。
2、窗口中包括3个标签:“用户名”“密码”“验证码”
3、窗口中包括3个文本框,分别对应上述3个标签,其中“密码”框应为JPasswordField
4、在验证码文本框的后面紧跟一个标签,标签内容为产生的一个随机4位整数。
5、窗口中包括3个按钮:“确定”“重置”“取消”。
*我的程序:
*/
public class Windows {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WindowBoxLayout win=new WindowBoxLayout();
win.setBounds(100,100,310,260);
win.setTitle("用户登录");
}
}
WindowBoxLayout.java
import java.util.Random;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class WindowBoxLayout extends JFrame {
Box baseBox,boxV1,boxV2,boxV3;
public WindowBoxLayout(){
setLayout(new java.awt.FlowLayout());
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Random rd=new Random();
JLabel label4=new JLabel(Integer.toString(rd.nextInt(8999)+1000));
void init() {
boxV1 = Box.createVerticalBox();// 获得一个具有列型盒式布局的盒式容器
boxV1.add(new JLabel("用户名:"));
boxV1.add(Box.createVerticalStrut(8));// 垂直支撑
boxV1.add(new JLabel("密码:"));
boxV1.add(Box.createVerticalStrut(8));
// boxV1.add(Box.createHorizontalStrut(8));//水平支撑
boxV1.add(new JLabel("验证码:"));
boxV2 = Box.createVerticalBox();
boxV1.add(label4);
boxV2.add(new JTextField(10));
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(new JPasswordField(10));
boxV2.add(Box.createVerticalStrut(8));
// boxV2.add(Box.createHorizontalStrut(8));
boxV2.add(new JTextField(10));
boxV3 = Box.createVerticalBox();
boxV3.add(new JButton("确定"));
boxV3.add(Box.createVerticalStrut(8));// 垂直支撑
boxV3.add(new JButton("重置"));
boxV3.add(Box.createVerticalStrut(8));
boxV3.add(new JButton("取消"));
baseBox = Box.createHorizontalBox();// 获得一个具有行型盒式布局的盒式容器
baseBox.add(boxV1);
baseBox.add(Box.createHorizontalStrut(10));
baseBox.add(boxV2);
baseBox.add(Box.createHorizontalStrut(10));
baseBox.add(boxV3);
add(baseBox);
}
}