界面事件简单总结

介绍之前呢,我们先聊聊开发模型这个概念

基本开发模型即M V C,其中M表示模型,V表示视图,C表示控制端

举个例子:

有个按钮模型,

我们在某一个时刻只能看见按钮的一种状态

1.正常显示  2.鼠标悬浮在按钮上  3.鼠标按下之后

而视图即作为用户可以看到的界面状态。

控制器即控制显示哪个状态给用户来看。

那如何将用户进行的操作实现对应的结果反应呢?

这时候就需要监听器啦!

在此引入一个新的概念:监听事件

即事件发生时,监听器可以直接响应,做出对应的反应

这些概念我们介绍了以后,再聊聊界面开发的几个要点:

1.容器:窗体

2.组件:按钮,输入框……(太多了这里就举一点例子)

3.元素规则:尺寸,颜色,布局,字体

讲了这些概念,我们不妨写个样例出来,比如要求一个登录界面

上代码来看看:

第一步来创建窗体:

 public static void initUI(){
        //创建窗口
        JFrame jFrame = new JFrame("登录");
        jFrame.setSize(300,300);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

我们介绍一下setDefaultCloseOperation后面参数的具体含义:

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的WindowListener 对象的 windowClosing 方法中处理该操作。

HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

第二步我们来设置布局,这里我们采用流式布局(概念可以自行搜索查询)

FlowLayout fl = new FlowLayout ();
        jf.setLayout (fl);

第三步我们来设置组件:

    //按钮
        JButton btn = new JButton ("登录");
    //标签    
        JLabel nameJla = new JLabel ("账号:");
        JLabel pwdJla = new JLabel ("密码: ");
        JLabel imgjla = new JLabel ();
        ImageIcon img = new ImageIcon ("qq.png");
        imgjla.setIcon(img);
    //输入框
        JTextField nameField = new JTextField ();//账号
        JPasswordField pwdField = new JPasswordField();//密码
    //设置输入框,图片尺寸
        Dimension dim = new Dimension (410,50);
        nameField.setPreferredSize (dim);
        pwdField.setPreferredSize (dim);

        Dimension imgjladim = new Dimension (500,400);
        imgjla.setPreferredSize (imgjladim);

第四步我们来将这些组件添加到窗体上,并渲染到屏幕上:

        // 加载到窗体上
        jf.add (imgjla);
        jf.add (nameJla);jf.add (nameField);
        jf.add (pwdJla);jf.add (pwdField);
        jf.add (btn);

        // 组件加载之后
        jf.setVisible (true);// 渲染到屏幕上

最后我们在main方法里测试:

public static void main(String[] args){
        LoginUI loginUI = new LoginUI ();
        loginUI.initUI ();
    }

———————————————————————————————————————————

上面简单的做了一个界面,但是没有任何的功能,下面我们来添加一个验证输入账号密码正确的功能:

首先我们介绍一个接口:ActionListener,即监听器

下面我们创建一个监听器对象ButtonAction

public class ButtonAction implements ActionListener{
  public javax.swing.JTextField nameJtf = null;
  public javax.swing.JPasswordField pwdjtf = null;

  /**
   * 当被监听的组件被按下点击时 会调用这个方法
   *
   * @param e
   */
  public void actionPerformed(ActionEvent e){
    System.out.println ("按钮被点击了");
    //输入框内容调用getText方法
    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);
    }
  }

}

这边我们创建好对象后,回到我们的登陆界面来注册一个监听器:

        // 按钮注册监听器
        ButtonAction btnAction = new ButtonAction();

        // 将界面上的输入框对象 传给 监听器btnAction中两个输入框属性对象名
        btnAction.nameJtf = nameField;
        btnAction.pwdjtf = pwdField;

        // 按钮调用添加监听器的方法
        btn.addActionListener (btnAction);

那么这时候就可以实现输入账号密码校验的功能啦!

刚接触界面事件,了解的也不是很多,但是学完以后来总结还是收获不少!一起加油努力!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值