“Java 桌面版之View层”的版本间的差异
来自CloudWiki
(创建页面,内容为“===新建窗体=== <nowiki>import java.awt.*; import javax.swing.*; public class UserInfo extends JFrame{ public UserInfo() { super("电商购物平台-用户信…”) |
|||
第1行: | 第1行: | ||
+ | ==MVC简介== | ||
+ | MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。 | ||
+ | |||
+ | MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。 | ||
+ | |||
+ | [[文件:java8-1.png]] | ||
+ | |||
+ | ===客户端功能=== | ||
+ | [[文件:Java2-36.png]] | ||
+ | |||
+ | ==View层代码== | ||
+ | |||
+ | *V即View视图是指用户看到并与之交互的界面。'''可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。'''。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。 | ||
===新建窗体=== | ===新建窗体=== | ||
<nowiki>import java.awt.*; | <nowiki>import java.awt.*; | ||
第51行: | 第64行: | ||
UserInfo userInfo=new UserInfo(); | UserInfo userInfo=new UserInfo(); | ||
}</nowiki> | }</nowiki> | ||
+ | ==全部代码== | ||
+ | <nowiki>package view; | ||
+ | |||
+ | import java.awt.*; | ||
+ | import javax.swing.*; | ||
+ | |||
+ | |||
+ | public class UserInfo extends JFrame{ | ||
+ | /*** | ||
+ | */ | ||
+ | private static final long serialVersionUID = 1L; | ||
+ | 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 btnSet = new JButton("注册");//重置按钮 | ||
+ | |||
+ | public UserInfo() { | ||
+ | super("电商购物平台-用户信息"); | ||
+ | |||
+ | //A.创建第一个面板,内部采用网格布局,在其中添加用户登录、用户密码控件 | ||
+ | JPanel centerPane=new JPanel(); | ||
+ | centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 | ||
+ | centerPane.add(labelUser);//步骤2:将组件添加到面板上 | ||
+ | centerPane.add(txtUserID); | ||
+ | //centerPane.add(labelUser2); | ||
+ | centerPane.add(labelPwd); | ||
+ | centerPane.add(txtPassword); | ||
+ | this.add(centerPane, BorderLayout.CENTER); | ||
+ | |||
+ | //B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 | ||
+ | JPanel southPane=new JPanel(); | ||
+ | southPane.setLayout(new FlowLayout()); | ||
+ | southPane.add(btnLogon); | ||
+ | southPane.add(btnSet); | ||
+ | this.add(southPane, BorderLayout.SOUTH); | ||
+ | |||
+ | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作 | ||
+ | setResizable(false);//窗口大小不能改变 | ||
+ | setSize(300,100);//设置窗口大小 | ||
+ | setVisible(true);//设置窗口可见性 | ||
+ | } | ||
+ | public static void main(String[] args) { | ||
+ | UserInfo userInfo=new UserInfo(); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </nowiki> |
2019年5月19日 (日) 04:18的版本
MVC简介
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。
客户端功能
View层代码
- V即View视图是指用户看到并与之交互的界面。可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
新建窗体
import java.awt.*; import javax.swing.*; public class UserInfo extends JFrame{ public UserInfo() { super("电商购物平台-用户信息"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作 setResizable(false);//窗口大小不能改变 setSize(300,100);//设置窗口大小 setVisible(true);//设置窗口可见性 } public static void main(String[] args) { UserInfo userInfo=new UserInfo(); } }
添加组件
在UserInfo类中添加按钮、组件作为成员变量:
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 JButton btnLogon =new JButton("登陆");//登录按钮 private JButton btnSet = new JButton("注册");//重置按钮
将组件添加到面板上
在框架中,添加第一块面板。
//A.创建第一个面板,内部采用网格布局,在其中添加用户登录、用户密码控件 JPanel centerPane=new JPanel(); centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 centerPane.add(labelUser);//步骤2:将组件添加到面板上 centerPane.add(txtUserID); //centerPane.add(labelUser2); centerPane.add(labelPwd); centerPane.add(txtPassword); this.add(centerPane, BorderLayout.CENTER);
在框架中,添加第二块面板。
//B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnSet); this.add(southPane, BorderLayout.SOUTH);
测试程序,在main方法中添加语句。
public static void main(String[] args) { UserInfo userInfo=new UserInfo(); }
全部代码
package view; import java.awt.*; import javax.swing.*; public class UserInfo extends JFrame{ /*** */ private static final long serialVersionUID = 1L; 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 btnSet = new JButton("注册");//重置按钮 public UserInfo() { super("电商购物平台-用户信息"); //A.创建第一个面板,内部采用网格布局,在其中添加用户登录、用户密码控件 JPanel centerPane=new JPanel(); centerPane.setLayout(new GridLayout(2,2));//步骤1:创建网格布局 centerPane.add(labelUser);//步骤2:将组件添加到面板上 centerPane.add(txtUserID); //centerPane.add(labelUser2); centerPane.add(labelPwd); centerPane.add(txtPassword); this.add(centerPane, BorderLayout.CENTER); //B.创建第二个面板,内部采用流式布局,在其中添加用户登录和重置按钮 JPanel southPane=new JPanel(); southPane.setLayout(new FlowLayout()); southPane.add(btnLogon); southPane.add(btnSet); this.add(southPane, BorderLayout.SOUTH); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭时操作 setResizable(false);//窗口大小不能改变 setSize(300,100);//设置窗口大小 setVisible(true);//设置窗口可见性 } public static void main(String[] args) { UserInfo userInfo=new UserInfo(); } }