窗体界面与事件监听 Monitor Interface

日常生活中窗体随处可见,各种聊天、直播、游戏、音影。都是各种窗体组成的软件。

  一般而言一个窗体界面就是一个JFrame对象。

  JFrame的位置在我们的一个javax.swing.JFrame。

  先创建一个界面并设置可见

//创建一个界面类
public class Interface {//显示界面的方法
    public void intUI(){
        //创建一个顶级容器
        javax.swing.JFrame frame=new javax.swing.JFrame("登陆界面");
        //设置容器大小
        frame.setSize(400, 300);
        //设置窗口关闭时退出
        frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
        //设置窗口居中
        frame.setLocationRelativeTo(null);
        //设置窗口不可改变大小
        frame.setResizable(false);
        //设置窗口可见
        frame.setVisible(true);
    }
//创建主方法
    public static void main (String[] srgs){
        //创建界面类对象
        Interface in=new Interface();
        //调用显示界面的方法
        in.intUI();
    }
}

然后运行一下。

  就可以看见一个空白的窗口,看上面的代码javax.swing.JFrame,有很多。如果添加别的组件上去,就会浪费很多的写代码时间,时候我们可以在创建类的上面,利用关键字:import。

import javax.swing.JFrame;

  后面的代码中直接写JFrame就可以了。

  如果要创建一个登陆界面,那么上面的窗体是不够的,需要往上面添加东西,例如账号密码输入框等等。那添加的这些东西,称之为组件。

  1、账号输入框     javax.swing.JTextField;

  2、密码输入框     javax.swing.JPasswordField;

  3、登录按钮      javax.swing.JButton;

  4、尺寸        java.awt.Dimension;

然后把组件创建出来,并添加到窗口

import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Interface {//显示界面的方法
    public void intUI(){
        //创建一个顶级容器
        JFrame frame=new JFrame("登陆界面");
        //设置容器大小
        frame.setSize(400, 300);
        //设置窗口关闭时退出
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置窗口居中
        frame.setLocationRelativeTo(null);
        //设置窗口不可改变大小
        frame.setResizable(false);
        //创建输入框对象
            JTextField jtext=new JTextField();
        //设置输入框的大小
            Dimension jtSize=new Dimension(200,20);
            jtext.setPreferredSize(jtSize);
        //创建一个密码输入框
            JPasswordField password =new JPasswordField();
        //设置输入框的大小
            Dimension passwordSize=new Dimension(200,20);
            password.setPreferredSize(passwordSize);
            //创建一个按钮
            JButton button=new JButton("登录");
        //设置按钮大小
            Dimension buttonSize=new Dimension(190,40);
            button.setPreferredSize(buttonSize);
        //添加组件到窗体上
        frame.add(jtext);
        frame.add(password);
        frame.add(button);
        //设置窗口可见
        frame.setVisible(true);
    }
//创建主方法
    public static void main (String[] srgs){
        //创建界面类对象
        Interface in=new Interface();
        //调用显示界面的方法
        in.intUI();
    }
}

运行一下:

发现,整个按钮占满了窗体,这是因为缺少一个布局方式。一般我们常用的有流式布局。

  流式布局      java.awt.FlowLayout

  那么我们设置布局方式并添加到组件上

//设置窗体布局方式
FlowLayout flowLayout=new FlowLayout();
//添加布局方式到窗体上
frame.setLayout(flowLayout);

  再运行一下:

  若是没有布局,则所以添加到窗体上的东西默认占满整个窗体。流式布局按照添加顺序从左上开始排序,满一行则自动换行。

  还有一下我们常用的组件。

  图片        javax.swing.ImageIcon

  文字        java.lang.String

  复选框       javax.swing.JCheckBox

  显示文字的标签      javax.swing.JLabel

  都可以添加到窗体上。

  如果输入完账号密码,想要点击登录。就需要用到一个事件监听机制。

  给事件源组件添加监听器,当事件源组件上发生相应类型的时间时,则自动调用。想要点击登录,事件源对象就是登录按钮,发生了鼠标点击的事件。

  鼠标动作监听器:java.awt.event.ActionListener。

  创建一个监听器对象:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Monitor implements ActionListener{
    //当鼠标被点击时执行
    public void actionPerformed(ActionEvent e){
        //输出 按钮被点击了
            System.out.println("按钮被点击了");
    }
}

然后在窗体界面类中实例化监听器,并把鼠标动作监听器添加到按钮上。

import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Interface {
    //显示界面的方法
    public void intUI(){
        //创建一个顶级容器
        JFrame frame=new JFrame("登陆界面");
        //设置容器大小
        frame.setSize(400, 300);
        //设置窗口关闭时退出
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置窗口居中
        frame.setLocationRelativeTo(null);
        //设置窗口不可改变大小
        frame.setResizable(false);
        //设置窗体布局方式
        FlowLayout flowLayout=new FlowLayout();
        //添加布局方式到窗体上
        frame.setLayout(flowLayout);
        //创建输入框对象
            JTextField jtext=new JTextField();
        //设置输入框的大小
            Dimension jtSize=new Dimension(200,20);
            jtext.setPreferredSize(jtSize);
        //创建一个密码输入框
            JPasswordField password =new JPasswordField();
        //设置输入框的大小
            Dimension passwordSize=new Dimension(200,20);
            password.setPreferredSize(passwordSize);
            //创建一个按钮
            JButton button=new JButton("登录");
        //设置按钮大小
            Dimension buttonSize=new Dimension(190,40);
            button.setPreferredSize(buttonSize);
        //添加组件到窗体上
        frame.add(jtext);
        frame.add(password);
        frame.add(button);

        //监听器对象实例化
        Monitor mon=new Monitor();
        //给按钮添加监听器
        button.addActionListener(mon);

        //设置窗口可见
        frame.setVisible(true);
    }
//创建主方法
    public static void main (String[] srgs){
        //创建界面类对象
        Interface in=new Interface();
        //调用显示界面的方法
        in.intUI();
    }
}

运行一下,当我们点击按钮时,则调用监听器的事件处理方法。

按钮被点击了

常用的监听器:

  鼠标事件监听器:java.awt.event.MouseListener;

  键盘事件监听器:java.awt.event.KeyListener;

  

原文地址:https://www.cnblogs.com/zhangyuquan/p/10209334.html

时间: 2024-08-30 13:50:19

窗体界面与事件监听 Monitor Interface的相关文章

Java中的事件监听机制

鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象 2.事件监听方法: addMouseListener(MouseListener ml) ;该方法主要用来捕获鼠标的释放,按下,点击,进入和离开的动作:捕获到相应的动作后,交由事件处理类(实现MouseListener接口)进行处理. addAction

事件监听与计算机界面

1.事件监听 package 事件监听;import java.awt.*;import java.awt.event.*; public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,200);//设计组件的尺寸      this.setLocation(800

UI界面事件监听

事件监听方法 using UnityEngine; using System.Collections; using UnityEngine.EventSystems; using System; using UnityEngine.UI; /// <summary> /// 按钮监听 /// </summary> public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger { public de

事件监听 计算机界面

1.事件监听: package 事件监听;import java.awt.*;import java.awt.event.*;public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,220);//设计组件的尺寸      this.setLocation(800

事件监听 计算器界面

1.事件监听: package 事件监听;import java.awt.*;import java.awt.event.*;public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,220);//设计组件的尺寸      this.setLocation(800

关于事件监听机制的总结(Listener和Adapter)

记得以前看过事件监听机制背后也是有一种设计模式的.(设计模式的名字记不清了,只记得背后实现的数据结构是数组.) 附上事件监听机制的分析图: 一个事件源可以承载多个事件(只要这个事件源支持这个事件就可以,男人就不支持生孩子的事件)  事件和监听器有对应关系的. 下面用awt中的标准图形化界面分析: 接口WindowListener 中有一个实现类WindowAdapter类.适配器类. EventListener.java 下面是所有超级接口EventListener.java的源代码   其实就

JAVA GUI 事件监听事件 详解 和 案例.

GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line User Interface(命令行用户接口) 就是常见的 Dos 命令行操作. 需要记忆一些常用的命令, 操作不直观. Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中. Java 图形化界面的 产品: eclipse 这个产品使用 纯Java 语言 编

GUI编程笔记05:GUI事件监听机制原理和举例说明

1.事件监听机制:       A:事件源          事件发生的地方       B:事件             就是要发生的事情       C:事件处理       就是针对发生的事情做出的处理方案       D:事件监听       就是把事件源和事件关联起来 2.举例:人受伤事件. 事件源:人(具体的对象)         Person p1 = new Person("张三");         Person p2 = new Person("李四&qu

WebView使用详解(二)——WebViewClient与常用事件监听

登录|注册     关闭 启舰 当乌龟有了梦想-- 目录视图 摘要视图 订阅 异步赠书:Kotlin领衔10本好书      免费直播:AI时代,机器学习如何入门?      程序员8月书讯      每周荐书:Java Web.Python极客编程(评论送书) WebView使用详解(二)--WebViewClient与常用事件监听 2016-05-28 11:24 20083人阅读 评论(13) 收藏 举报  分类: 5.andriod开发(148)  版权声明:本文为博主原创文章,未经博主