Java任务:商苑面馆登录窗体的设计
来自CloudWiki
任务描述:购书系统登录窗体的设计
创建用户登录窗口,实现效果如图8.1所示
图8-1 电商购物平台——登录
任务实现
实施思路
第一步:启动Eclipse,导入工程Project0801。
第二步:在工程中新建一个类,类名为UserForm ,继承类JFrame。
public class UserForm extends JFrame { }
第三步:添加成员变量。
private JLabel labelUser;//“登录账号”标签 private JLabel labelPwd;//“登录密码”标签 private JTextField txtUserID;//“登录账号”文本框 private JPasswordField txtPassword;//密码框 private JButton btnLogon;//登录按钮 private JButton btnReset;//重置按钮
第四步:创建无参构造方法,设置窗口的基本属性
public UserForm() { pack();//从java.awt.Window继承而来的方法,调整窗口的大小,使其适应组件的大小和布局。 this.setTitle("图书管理系统-用户登陆"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); }
第五步:在构造方法中,初始化成员变量。
super("图书管理系统用户登陆"); this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 //0.控件初始化 labelUser=new JLabel("用户登录",JLabel.CENTER); labelPwd= new JLabel("登录密码",JLabel.CENTER); txtUserID=new JTextField(16); txtPassword=new JPasswordField(16); btnLogon=new JButton("登录"); btnReset=new JButton("重置");
第六步:在框架中,添加第一块面板。
//A.创建第一个面板,内部采用网格布局,在其中添加用户登录、用户密码控件 JPanel centerPane=new JPanel(); centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 centerPane.add(labelUser);//步骤2:将组件添加到面板上 centerPane.add(txtUserID); centerPane.add(labelPwd); centerPane.add(txtPassword); this.getContentPane().add(centerPane, BorderLayout.CENTER); //步骤3:以边界布局的方式,将面板整体添加到框架上
第七步:在框架中,添加第二块面板。
//B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnReset); this.getContentPane().add(southPane,BorderLayout.SOUTH);
第六步:测试程序,在main方法中添加语句。
UserForm userForm=new UserForm();
程序代码
package main; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.*; public class UserForm extends JFrame{ private JLabel labelUser;//“登录账号”标签 private JLabel labelPwd;//“登录密码”标签 private JTextField txtUserID;//“登录账号”文本框 private JPasswordField txtPassword;//密码框 private JButton btnLogon;//登录按钮 private JButton btnReset;//重置按钮 public UserForm() { super("图书管理系统用户登陆"); this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 //0.控件初始化 labelUser=new JLabel("用户登录",JLabel.CENTER); labelPwd= new JLabel("登录密码",JLabel.CENTER); txtUserID=new JTextField(16); txtPassword=new JPasswordField(16); btnLogon=new JButton("登录"); btnReset=new JButton("重置"); //A.创建第一个面板,内部采用网格布局,在其中添加用户登录、用户密码控件 JPanel centerPane=new JPanel(); centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 centerPane.add(labelUser);//步骤2:将组件添加到面板上 centerPane.add(txtUserID); centerPane.add(labelPwd); centerPane.add(txtPassword); this.getContentPane().add(centerPane, BorderLayout.CENTER); //步骤3:以边界布局的方式,将面板整体添加到框架上 //B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnReset); this.getContentPane().add(southPane,BorderLayout.SOUTH); pack();//从java.awt.Window继承而来的方法,调整窗口的大小,使其适应组件的大小和布局。 this.setTitle("图书管理系统-用户登陆"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } /*创建网格布局*/ public static void main(String[] args) { UserForm userForm=new UserForm(); } }