“Java任务:商苑面馆登录窗体的设计”的版本间的差异
来自CloudWiki
(→任务描述:购书系统登录窗体的设计) |
|||
(未显示2个用户的14个中间版本) | |||
第8行: | 第8行: | ||
==任务实现== | ==任务实现== | ||
===实施思路=== | ===实施思路=== | ||
− | + | 启动Eclipse,导入工程Project0801。 | |
− | + | 在工程中新建一个类,类名为UserForm ,继承类JFrame。 | |
− | <nowiki> | + | <nowiki>package view; |
− | + | import java.awt.*; | |
− | + | import javax.swing.*; | |
− | + | public class UserForm extends JFrame{ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | public static void main(String[] args) { | |
+ | // TODO Auto-generated method stub | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | 创建无参构造方法,设置窗口的基本属性 | ||
− | <nowiki>public | + | <nowiki>public UserForm() { |
− | + | this.setTitle("商苑面馆-用户登陆"); | |
− | this.setTitle(" | ||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
− | this.setVisible(true); | + | this.setSize(300,150); |
+ | this.setVisible(true); | ||
+ | this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 | ||
+ | this.setLocationRelativeTo(null);//将窗口设为中央 | ||
}</nowiki> | }</nowiki> | ||
− | + | 为类添加成员变量。 | |
+ | |||
+ | <nowiki> | ||
+ | private JLabel labelUser=new JLabel("用户登录",JLabel.CENTER); | ||
+ | private JLabel labelPwd= new JLabel("登录密码",JLabel.CENTER);//“登录密码”标签 | ||
+ | private JTextField txtUserID = new JTextField(16);//“登录账号”文本框 | ||
+ | private JPasswordField txtPassword=new JPasswordField(16);//密码框 | ||
+ | private JLabel labelUser2=new JLabel("@126.com",JLabel.CENTER); | ||
+ | private JButton btnLogon =new JButton("登陆");//登录按钮 | ||
+ | private JButton btnReset = new JButton("重置");//重置按钮 | ||
+ | </nowiki> | ||
− | + | 在框架中,添加第一块面板。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[文件:java2020-12-7.png|600px]] | |
− | <nowiki>JPanel | + | <nowiki> //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.add(centerPane, BorderLayout.CENTER); | ||
+ | //步骤3:以边界布局的方式,将面板整体添加到框架上 | ||
+ | </nowiki> | ||
+ | |||
+ | 第七步:在框架中,添加第二块面板。 | ||
+ | |||
+ | [[文件:java2020-12-8.png|600px]] | ||
+ | <nowiki>//B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 | ||
+ | JPanel southPane=new JPanel(); | ||
+ | southPane.setLayout(new FlowLayout()); | ||
+ | southPane.add(btnLogon); | ||
+ | southPane.add(btnReset); | ||
+ | this.add(southPane,BorderLayout.SOUTH);</nowiki> | ||
第六步:测试程序,在main方法中添加语句。 | 第六步:测试程序,在main方法中添加语句。 | ||
− | + | UserForm userForm=new UserForm(); | |
==程序代码== | ==程序代码== | ||
− | <nowiki>public class | + | <nowiki> |
− | private JLabel | + | package main; |
− | private JLabel | + | import java.awt.*; |
− | private JTextField txtUserID;//“登录账号”文本框 | + | import java.awt.event.ActionEvent; |
− | private JPasswordField txtPassword;//密码框 | + | import java.awt.event.ActionListener; |
− | private JButton btnLogon;//登录按钮 | + | |
− | private JButton btnReset;//重置按钮 | + | import javax.swing.*; |
+ | |||
+ | public class UserForm extends JFrame{ | ||
+ | private JLabel labelUser=new JLabel("用户登录",JLabel.CENTER); | ||
+ | private JLabel labelPwd= new JLabel("登录密码",JLabel.CENTER);//“登录密码”标签 | ||
+ | private JTextField txtUserID = new JTextField(16);//“登录账号”文本框 | ||
+ | private JPasswordField txtPassword=new JPasswordField(16);//密码框 | ||
+ | private JLabel labelUser2=new JLabel("@126.com",JLabel.CENTER); | ||
+ | private JButton btnLogon =new JButton("登陆");//登录按钮 | ||
+ | private JButton btnReset = new JButton("重置");//重置按钮 | ||
− | public | + | public UserForm() { |
− | + | this.setTitle("商苑面馆-用户登陆"); | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
JPanel centerPane=new JPanel(); | JPanel centerPane=new JPanel(); | ||
− | centerPane.setLayout(new GridLayout(2,2)); | + | centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 |
− | centerPane.add( | + | |
+ | centerPane.add(labelUser);//步骤2:将组件添加到面板上 | ||
centerPane.add(txtUserID); | centerPane.add(txtUserID); | ||
− | centerPane.add( | + | centerPane.add(labelPwd); |
centerPane.add(txtPassword); | centerPane.add(txtPassword); | ||
− | this | + | this.add(centerPane, BorderLayout.CENTER); |
− | // | + | //步骤3:以边界布局的方式,将面板整体添加到框架上 |
+ | |||
+ | //B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 | ||
JPanel southPane=new JPanel(); | JPanel southPane=new JPanel(); | ||
− | southPane.setLayout(new FlowLayout()); | + | southPane.setLayout(new FlowLayout()); |
southPane.add(btnLogon); | southPane.add(btnLogon); | ||
− | southPane.add(btnReset); | + | southPane.add(btnReset); |
− | this | + | this.add(southPane,BorderLayout.SOUTH); |
− | |||
− | |||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
− | this.setVisible(true); | + | this.setSize(300,150); |
+ | this.setVisible(true); | ||
+ | this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 | ||
+ | this.setLocationRelativeTo(null);//将窗口设为中央 | ||
} | } | ||
+ | |||
+ | |||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | + | // TODO Auto-generated method stub | |
+ | UserForm userForm=new UserForm(); | ||
} | } | ||
− | }</nowiki> | + | |
+ | } | ||
+ | |||
+ | </nowiki> |
2020年6月3日 (三) 01:03的最新版本
任务描述:购书系统登录窗体的设计
创建用户登录窗口,实现效果如图8.1所示
图8-1 电商购物平台——登录
任务实现
实施思路
启动Eclipse,导入工程Project0801。
在工程中新建一个类,类名为UserForm ,继承类JFrame。
package view; import java.awt.*; import javax.swing.*; public class UserForm extends JFrame{ public static void main(String[] args) { // TODO Auto-generated method stub } }
创建无参构造方法,设置窗口的基本属性
public UserForm() { this.setTitle("商苑面馆-用户登陆"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300,150); this.setVisible(true); this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 this.setLocationRelativeTo(null);//将窗口设为中央 }
为类添加成员变量。
private JLabel labelUser=new JLabel("用户登录",JLabel.CENTER); private JLabel labelPwd= new JLabel("登录密码",JLabel.CENTER);//“登录密码”标签 private JTextField txtUserID = new JTextField(16);//“登录账号”文本框 private JPasswordField txtPassword=new JPasswordField(16);//密码框 private JLabel labelUser2=new JLabel("@126.com",JLabel.CENTER); private JButton btnLogon =new JButton("登陆");//登录按钮 private 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.add(centerPane, BorderLayout.CENTER); //步骤3:以边界布局的方式,将面板整体添加到框架上
第七步:在框架中,添加第二块面板。
//B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnReset); this.add(southPane,BorderLayout.SOUTH);
第六步:测试程序,在main方法中添加语句。
UserForm userForm=new UserForm();
程序代码
package main; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class UserForm extends JFrame{ private JLabel labelUser=new JLabel("用户登录",JLabel.CENTER); private JLabel labelPwd= new JLabel("登录密码",JLabel.CENTER);//“登录密码”标签 private JTextField txtUserID = new JTextField(16);//“登录账号”文本框 private JPasswordField txtPassword=new JPasswordField(16);//密码框 private JLabel labelUser2=new JLabel("@126.com",JLabel.CENTER); private JButton btnLogon =new JButton("登陆");//登录按钮 private JButton btnReset = new JButton("重置");//重置按钮 public UserForm() { this.setTitle("商苑面馆-用户登陆"); 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.add(centerPane, BorderLayout.CENTER); //步骤3:以边界布局的方式,将面板整体添加到框架上 //B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnReset); this.add(southPane,BorderLayout.SOUTH); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300,150); this.setVisible(true); this.setLayout(new BorderLayout());//为框架上的面板设立布局方式,设为边界布局 this.setLocationRelativeTo(null);//将窗口设为中央 } public static void main(String[] args) { // TODO Auto-generated method stub UserForm userForm=new UserForm(); } }