Java内置GUI Frame类的使用

目录
  • Java内置GUI Frame类
    • Frame概述
    • Frame创建
    • 布局管理器
    • 窗体监听
    • 适配器

Java内置GUI Frame类

Frame概述

* 事件处理    * 事件: 用户的一个操作

* 事件源: 被操作的组件

* 监听器: 一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法

Frame创建

Frame创建窗口步骤:

1.创建Frame对象

2.设置窗体大小、位置、背景、图标

3.显示窗口

代码清单如下:

布局管理器

* FlowLayout(流式布局管理器)
    * 从左到右的顺序排列。
    * Panel默认的布局管理器。
* BorderLayout(边界布局管理器)
    * 东,南,西,北,中
    * Frame默认的布局管理器。
* GridLayout(网格布局管理器)
    * 规则的矩阵
* CardLayout(卡片布局管理器)
    * 选项卡
* GridBagLayout(网格包布局管理器)
    * 非规则的矩阵

这里以FlowLayout布局管理器为例,添加两个按钮。

代码清单如下: 

窗体监听

窗体监听器

鼠标监听

键盘监听

动作监听

适配器

什么是适配器    * 在使用监听器的时候, 需要定义一个类事件监听器接口.

* 通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐.

* 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可.

适配器原理    * 适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的.

* 适配器类需要定义成抽象的,因为创建该类对象,调用空方法是没有意义的

* 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了.

【注】:Frame中的鼠标监听器、键盘监听器、窗体监听器都用到了适配器,采用适配器能大大简化代码,避免重写所有的方法!

最后给出窗体样式展示:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java必学必会之GUI编程

    一.事件监听 测试代码一: package cn.javastudy.summary; import java.awt.*; import java.awt.event.*; public class TestTextField { public static void main(String args[]) { new MyFrameTextField(); } } class MyFrameTextField extends Frame { MyFrameTextField() { Text

  • Java图形界面GUI布局方式(小结)

    流式布局 采用流式布局会将元素按从左到右的顺序排列,如果一个元素在一行中放不下,那这个元素会另起一行依然按照从左到右的顺序排列 示例: 代码 public class Test { public static void main(String[] args) { // 创建窗口 JFrame jFrame = new JFrame(); // 设置窗口名称 jFrame.setTitle("hello"); // 创建流式布局管理器 对齐方式为左对齐 LayoutManager lay

  • java开发gui教程之jframe监听窗体大小变化事件和jframe创建窗体

    复制代码 代码如下: import java.awt.event.WindowEvent;import java.awt.event.WindowStateListener; import javax.swing.JFrame; public class WinFrame extends JFrame { public WinFrame(){  this.setName("Window 窗口状态");  this.setSize(300,300);  this.setDefaultCl

  • Java中GUI工具包AWT和Swing用法介绍

    java 中编写 GUI 有两中工具包,分别为 AWT.Swing. Swing 是 AWT 的拓展,Swing 具有比 AWT 丰富的组件和方法. AWT 和 Swing 都能跨平台使用:AWT 会随着不同的系统平台,UI 样式会有所变化,Swing 则不会,设计完毕后在所有平台下样式一致. import java.awt.*; import javax.swing.*; 一个 awt 示例 下面是一个窗口示例 import java.awt.*; public class MyFrame e

  • Java内置GUI Frame类的使用

    目录 Java内置GUI Frame类 Frame概述 Frame创建 布局管理器 窗体监听 适配器 Java内置GUI Frame类 Frame概述 * 事件处理    * 事件: 用户的一个操作 * 事件源: 被操作的组件 * 监听器: 一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法 Frame创建 Frame创建窗口步骤: 1.创建Frame对象 2.设置窗体大小.位置.背景.图标 3.显示窗口

  • Java 内置Http Server构建web应用案例详解

    一.概述 使用Java技术构建Web应用时, 我们通常离不开tomcat和jetty之类的servlet容器,这些Web服务器功能强大,性能强劲,深受欢迎,是运行大型Web应用的必备神器. 虽然Java的设计初衷就是用来开发大型应用的,然而有时候我们开发的程序只是简单的小型应用,对于功能的需求和性能的要求并不高, 可能仅仅就几百行甚至几十行代码,这个时候使用tomcat之类的Web服务器去运行就显得有点大材小用了. 比如说只是将数据库中的数据读出来转换成JSON,以Web服务的形式吐给调用方这样

  • Java 内置接口 Serializable示例详解

    目录 引言 Serializable 接口 Serializable 是一个标记型接口 serializable Version UID Java 序列化与JSON序列化的区别 Java序列化相较于 JSON 的优势 Java 类对象的序列化代码演示 总结 引言 上一部分我们着重讲了 Java 集合框架中在开发项目时经常会被用到的数据容器,在讲解.演示使用实践的同时,把这个过程中遇到的各种相关知识点:泛型.Lambada.Stream 操作,一并给大家做了梳理. 从这篇开始我们进入下一部分,用三

  • Springboot内置的工具类之CollectionUtils示例讲解

    前言 实际业务开发中,集合的判断和操作也是经常用到的,Spring也针对集合的判断和操作封装了一些方法,但是最令我惊讶的是,我在梳理这些内容的过程中发现了一些有趣的现象,我的第一反应是不敢相信,再想一想,没错,我是对的.所以强烈建议大家可以认真看完这篇文章,这一篇绝对有价值,因为有趣的是我我竟然发现了Spring的两个bug. org.springframework.util.CollectionUtils 集合的判断 boolean hasUniqueObject(Collection col

  • 分享一个安卓的内置多种工具类的Activity

    一个安卓的Activity,内置了多种工具类.要用的话,让自己的Activity继承这个Activity,各种方便,便于理解我在每个方法上都写了详细的注释,添加了网络部分,添加了表单文件一键上传 演示图 代码 void Call(java.lang.String number) 拨打=电话的方法 void download(java.lang.String url, NetResult result) 用于下载文件的函数 java.lang.String formatMemorySize(lon

  • 深入理解java内置锁(synchronized)和显式锁(ReentrantLock)

    synchronized 和 Reentrantlock 多线程编程中,当代码需要同步时我们会用到锁.Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两种同步方式.显式锁是JDK1.5引入的,这两种锁有什么异同呢?是仅仅增加了一种选择还是另有其因?本文为您一探究竟. // synchronized关键字用法示例 public synchronized void add(int t){// 同步方法 this.v += t; } public stati

  • yii2学习教程之5种内置行为类详解

    前言 众所周知学习所有知识都需要循序渐进,行为也是一样,在我们学会很牛逼的新建行为,然后轻松注入到组件类之前,先看看yii2框架为我们准备的5个内置的行为类,也许你刚要用到~话不多说了,来一起看看详细的介绍: 本节的目的是让各位小伙伴在使用过程中对行为有一个整体上的感觉. 先亮亮相 TimestampBehavior SluggableBehavior BlameableBehavior AttributeTypecastBehavior AttributeBehavior 网上很多文章只是讲解

  • Python内置异常类型全面汇总

    内置异常基类 在 Python 中,所有异常必须为一个派生自 BaseException 的类的实例. 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称. 下列异常主要被用作其他异常的基类. BaseException: 所有异常的基类 Exception(重点掌握) 所有内置的非系统退出类异常都派生自此类. 所有用户自定义异常也应当没打算自此类. ArithmeticError 此基类用于派生针对各种算术类错误而引发的内置异常: OverflowError, ZeroDi

  • 浅谈Python中的常用内置对象

    一.常用的python内置对象 对象类型 类型名称 示例 简要说明 数字 int,float,complex 1234,3.14,3+4j 数字大小没有限制,内置支持复数及其运算 字符串 str 'swfu' 使用单引号.双引号.三引号作为定界符,以r/R引导表示原始字符串 字节串 bytes b'hello world' 以字母b引导,可以使用单引号.双引号.三引号作为定界符 列表 list [1,2,3] 所有元素放在[ ]中,元素之向使用","分隔,其中的元素可以是任意类型 字典

  • javascript 基础篇3 类,回调函数,内置对象,事件处理

    复制代码 代码如下: function 类名(参数表){ this.属性; ...... this.函数; } 这样,函数和数据成员都是用"this."来实现. 我们自己定义一个简单类student好了,然后再去构造它,并且实现一个输出函数. 复制代码 代码如下: <script LANGUAGE="JavaScript"> <!-- function student(a,b){ this.name = a; this.age=b; this.ou

随机推荐