新建一个窗口

import java.awt.*;

定义

Frame  frm_Draw  = new Frame("Text");

初始化代码

public void Frame_Init() {
//frm_Debug.addWindowListener( new MyWindowsListener() ); //添加窗口监听器
frm_Debug.setLayout( null ); //使用 null 布局器,绝对位置
frm_Debug.setBounds( 0, 200, 400, 400 ); //设置窗口位置、大小
frm_Debug.setVisible( true ); //开启显示
}

主函数

	public static void main(String[] argv)
{
new 主类名().Frame_Init();
}

运行结果

这个时候,窗口还关不掉,因为没有写对应的关闭事件

写窗口关闭事件

两种方法,一种是添加窗口时间监听器,一种是使用事件适配器。

因为窗口的事件不只一种,事件监听器是一个接口,抽象类,必须全部实现。而实际中,我们可能只需要实现windowClosing事件(点击叉叉,关闭)。

事件适配器实现了监听器接口,只不过,所有的实现都是空函数,我们只需要重写那些我们感兴趣的事件就可以了

import java.awt.event.*;

事件适配器类

	class MyWindowsListener extends WindowAdapter
{
public void windowClosing( WindowEvent e )
{
System.exit(0); //关闭程序
}
}
frm_Debug.addWindowListener( new MyWindowsListener() );  //添加窗口监听器

程序就可正常关闭了

完整参考

import java.awt.*;
import java.awt.event.*; public class CreatFrame
{
Frame f = new Frame("frame title"); public void Frame_Init()
{
{
f.addWindowListener( new MyWindowsListener() ); //添加窗口监听器
f.setLayout( null ); //使用 null 布局器,绝对位置
f.setBounds( 0, 200, 400, 400 ); //设置窗口位置、大小
f.setVisible( true ); //开启显示 //添加按钮 bnt_Debug
}
} public static void main(String[] argv)
{
new CreatFrame().Frame_Init();
} class MyWindowsListener extends WindowAdapter
{
public void windowClosing( WindowEvent e )
{
System.exit(0);
}
}
}

AWT 新建窗口的更多相关文章

  1. Tkinter关于新建窗口内Entry无法获取值(值全为空)的解决办法

    最近在做Python的课程作业,遇到一个问题,描述如下: 使用Python内置的Tkinter模块进行GUI编程 给一个按钮(或菜单)绑定事件,打开一个新窗口,新窗口内有Entry若干,通过textv ...

  2. [AIR] 新建窗口的方法

    有时根据需要,我们需要在AIR程序中开多个窗口window 以下新建一个窗口: var opion:NativeWindowInitOptions = new NativeWindowInitOpti ...

  3. 用extjs6.0写一个点击新建窗口的功能

    一.写一个按钮 注意id { id: 'ListEdit', text:'编辑', iconCls:'x-fa fa-edit' } 二.写新建的页面 下面我新建的是表单,有几点需要注意的: ① 因为 ...

  4. java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小

    代码如下: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JBu ...

  5. java在线聊天项目0.1版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包)

    建立Chat项目,并在项目中创建窗口类 package com.swift; import java.awt.BorderLayout; import javax.swing.JFrame; impo ...

  6. Dynamics CRM - 利用 JavaScript 打开指定 entity 的新建窗口并传递需要的参数

    由于业务逻辑需要,需要从某个 Entity 的 Record 中弹出其他 Entity 的创建窗口,并将当前 Entity 中的某些值传递到新打开的窗口中,具体的 JS 代码如下: //定义一个参数对 ...

  7. Qt 释放新建窗口资源

    当Widget *w = new Widget(); 不方便调用 delete w;时 Widget *w = new Widget(); w->setAttribute(Qt::WA_Dele ...

  8. 使用glew和glad 新建窗口

    一.添加头文件 首先,将头文件加到项目的.cpp文件中 #include <glad/glad.h> 2 #include <GLFW/glfw3.h> 注: 包含glad的头 ...

  9. opencv打开摄像头并新建窗口显示

    几个程序使用的基本函数如下: ******************************************************************* cvCreateCameraCap ...

随机推荐

  1. 模拟vue的tag属性,在react里实现自定义Link

    我封装了一个简单的实现react里自定义Link的方法,方便大家使用. 因为普通组件没有metch.location.history等属性.只有在<Router>里面的<compon ...

  2. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  3. 【转】Android辅助功能AccessibilityService自动全选择文字粘贴模拟输入

    网上找了很久AccessibilityService全选文字的方法,一直没找到,自己研究了半天,分享出来. /** * 输入文本 */ public void inputText(List<St ...

  4. MyIASM和Innodb引擎详解

    MyIASM 和 Innodb引擎详解 Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别,关于数据库事务与其隔离级别的内容请见数据库事务与其隔离级 ...

  5. JSOI2019 Round2 极限生还

    江苏省省队一共13个名额,去掉女生名额, 按1/3校内限制,我们南外只有4个名额, 在noip爆炸(占比35%),省选一轮爆炸(占比40%),(此时蒟蒻在校内排不进前10...) 总算在省选二轮(占比 ...

  6. Elasticsearch 通关教程(二): 索引映射Mapping问题

    数据库建表的时候,我们的DDL语句一般都会指定每个字段的存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱. CREATE TABLE ...

  7. 我用Python实现了一个小说网站雏形

    前言 前段时间做了一个爬取妹子套图的小功能,小伙伴们似乎很有兴趣,为了还特意组建了一个Python兴趣学习小组,来一起学习.十个python九个爬,在大家的印象中好像Python只能做爬虫.然而并非如 ...

  8. JVM调优:HotSpot JVM垃圾收集器

    HotSpot JVM垃圾收集器 - Snooper - 博客园https://www.cnblogs.com/snooper/p/8718478.html

  9. asp.net core Serilog的使用

    先贴上关于使用这个日志组件的一些使用方法,等有时间了在吧官方的文档翻译一下吧,现在真是没时间. Serilog在使用上主要分为两大块: 第一块是主库,包括Serilog以及Serilog.AspNet ...

  10. Unit 3.标签的分类和嵌套规则

    一.标签分类 HTML中标签元素三种不同类型:块状元素,行内元素,行内块状元素. 常用的块状元素: <div> <p> <h1>~<h6> <ol ...