Model-View-Controller 的缩写,
- Model代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),模型是中立的,与数据类型无关
- View 是应用的表示层(由JSP页面产生),它只是作为一种输出数据并允许用户 *** 纵的方式。
- Controller是通过应用的处理过程控制,(一般是一个servert),接受用户的输入,并调用视图和模型完成需求。本身不做任何处理,只是对模型进行调用。
– 通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,这些组件可以进行交互和重用。
- 容器:窗体
- 组件:按钮 输入框
- 元素规则: 尺寸 颜色 布局 字体
Swing 是一个为Java设计的GUI工具包。
Swing是JAVA基础类的一部分。
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。
Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行
搭建流程//导入swing 和awt库 import javax.swing.*; import java.awt.*; //首先,定义一个类 public class LoginUI{ // 创建方法 public void initUI(){ //里面进行初始化,先设置窗体 Jframe jf = new Jframe(); // 设置窗体对象的属性 jf.setTitle ("登录界面"); jf.setSize (500,700); jf.setDefaultCloseOperation (Jframe.EXIT_ON_CLOSE); } * DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体占有的其他资源。在窗口被关闭的时候会dispose这个窗口。 * EXIT_ON_CLOSE:结束窗口所在的应用程序。在窗口被关闭的时候会退出JVM。 * 如果程序没有其他线程在运行,当所有窗口都被dispose后,JVM也会退出。 * 1.setDefaultCloseOperation(DISPOSE_ON_CLOSE);一个窗口点右上角×,只有该窗口会关闭 * 2.而setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);一个窗口点右上角×,软件的所有窗口都会关闭 开始获取元件 JButton btnLog = new JButton ("登录"); JButton btnClear = new JButton ("清空"); JLabel nameJla = new JLabel ("账号:"); JLabel pwdJla = new JLabel ("密码: "); JLabel imgJla = new JLabel (); ImageIcon img = new ImageIcon ("D:\······.png"); // 输入框对象 JTextField nameField = new JTextField (); JPasswordField pwdField = new JPasswordField(); //还可以设置尺寸等 setsize()setlocation() // 加载到窗体上 myframe.add (imgJla); myframe.add (nameJla);myframe.add (nameField); myframe.add (pwdJla);myframe.add (pwdField); myframe.add (btnLog); myframe.add (btnClear); // 组件加载之后 myframe.setVisible (true);// 渲染到屏幕上 // 按钮注册监听器 来获取 按钮的动态 ButtonAction btnAction_log = new ButtonAction(); ButtonActionClear btnAction_cancel = new ButtonActionClear(); // 将界面上的输入框对象 传给 监听器btnAction中两个输入框属性对象名 btnAction_log.nameJtf = nameField; btnAction_log.pwdjtf = pwdField; // namejtf 是 ButtonAction这个类中定义的 用于接受文本状态的JTextField类型的变量 如果之后想获取 文本框中的文字 可以用.gettext()方法 btnAction_cancel.nameJtf= nameField; btnAction_cancel.pwdjtf= pwdField; // 按钮调用添加监听器的方法 btnLog.addActionListener (btnAction_log); btnClear.addActionListener (btnAction_cancel); } //主函数调用 public static void main(String[] args){ LoginUI loginUI = new LoginUI (); loginUI.initUI (); } }
// 这是新的两种类
public interface ActionListener extends EventListener
public class ButtonAction implements ActionListener{
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ButtonAction implements ActionListener{ public javax.swing.JTextField nameJtf = null; public javax.swing.JPasswordField pwdjtf = null; public void actionPerformed(ActionEvent e){ System.out.println ("按钮被点击了"); String nameText = nameJtf.getText (); String pwdText = pwdjtf.getText (); System.out.println ("账号:"+nameText); System.out.println ("密码:"+pwdText); if(nameText.equals ("admin")&&pwdText.equals ("admin123")){ Jframe jf = new Jframe ("登录成功!!"); jf.setSize (500,300); jf.setDefaultCloseOperation (Jframe.DISPOSE_ON_CLOSE); jf.setVisible (true); }else { Jframe jf = new Jframe ("请重试!!"); jf.setSize (500,300); jf.setDefaultCloseOperation (Jframe.DISPOSE_ON_CLOSE); jf.setVisible (true); } } }
理一下思路
你创建的界面的类中会有两个文本框的对象。
当你调用监听器事件后,会自动创建同类型的变量。
这两个对象的地址可以传给 你设置的监听器事件中的变量。
从而在监听器中 对这两个对象进行 *** 作达到点击按钮产生变化的目的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)