12.12 界面事件

12.12 界面事件,第1张

12.12 界面事件 开发模型 MVC

Model-View-Controller 的缩写,

  • Model代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),模型是中立的,与数据类型无关
  • View 是应用的表示层(由JSP页面产生),它只是作为一种输出数据并允许用户 *** 纵的方式。
  • Controller是通过应用的处理过程控制,(一般是一个servert),接受用户的输入,并调用视图和模型完成需求。本身不做任何处理,只是对模型进行调用。
    – 通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,这些组件可以进行交互和重用。
界面开发:
  • 容器:窗体
  • 组件:按钮 输入框
  • 元素规则: 尺寸 颜色 布局 字体
swing

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);
    }
  }

}

理一下思路

你创建的界面的类中会有两个文本框的对象。
当你调用监听器事件后,会自动创建同类型的变量。
这两个对象的地址可以传给 你设置的监听器事件中的变量。
从而在监听器中 对这两个对象进行 *** 作达到点击按钮产生变化的目的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5672937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存