AWT 新建窗口
新建一个窗口
包
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 新建窗口的更多相关文章
- Tkinter关于新建窗口内Entry无法获取值(值全为空)的解决办法
最近在做Python的课程作业,遇到一个问题,描述如下: 使用Python内置的Tkinter模块进行GUI编程 给一个按钮(或菜单)绑定事件,打开一个新窗口,新窗口内有Entry若干,通过textv ...
- [AIR] 新建窗口的方法
有时根据需要,我们需要在AIR程序中开多个窗口window 以下新建一个窗口: var opion:NativeWindowInitOptions = new NativeWindowInitOpti ...
- 用extjs6.0写一个点击新建窗口的功能
一.写一个按钮 注意id { id: 'ListEdit', text:'编辑', iconCls:'x-fa fa-edit' } 二.写新建的页面 下面我新建的是表单,有几点需要注意的: ① 因为 ...
- java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小
代码如下: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JBu ...
- java在线聊天项目0.1版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包)
建立Chat项目,并在项目中创建窗口类 package com.swift; import java.awt.BorderLayout; import javax.swing.JFrame; impo ...
- Dynamics CRM - 利用 JavaScript 打开指定 entity 的新建窗口并传递需要的参数
由于业务逻辑需要,需要从某个 Entity 的 Record 中弹出其他 Entity 的创建窗口,并将当前 Entity 中的某些值传递到新打开的窗口中,具体的 JS 代码如下: //定义一个参数对 ...
- Qt 释放新建窗口资源
当Widget *w = new Widget(); 不方便调用 delete w;时 Widget *w = new Widget(); w->setAttribute(Qt::WA_Dele ...
- 使用glew和glad 新建窗口
一.添加头文件 首先,将头文件加到项目的.cpp文件中 #include <glad/glad.h> 2 #include <GLFW/glfw3.h> 注: 包含glad的头 ...
- opencv打开摄像头并新建窗口显示
几个程序使用的基本函数如下: ******************************************************************* cvCreateCameraCap ...
随机推荐
- 新建swap分区的规划、挂载和自动挂载示例
注:来自Linux系统管理_磁盘分区和格式化的扩展 Linux系统管理_磁盘分区和格式化:http://murongqingqqq.blog.51cto.com/2902694/1361918 思路: ...
- Vue SSR: 基本用法 (二)
上一篇讲解了ssr的原理,这篇主要讲基本用法: 1.安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn ...
- 可视化工具Grafana:简介及安装
随着业务的越发复杂,对软件系统的要求越来越高,这意味着我们需要随时掌控系统的运行情况.因此,对系统的实时监控以及可视化展示,就成了基础架构的必须能力. 这篇博客,介绍下开源的可视化套件grafana的 ...
- Linux中断管理
CPU和外设之间的交互,或CPU通过轮询机制查询,或外设通过中断机制主动上报. 对大部分外设中断比轮询效率高,但比如网卡驱动采取轮询比中断效率高. 这里重点关注ARM+Linux组合下中断管理,从底层 ...
- 字符串匹配KMP算法详解
1. 引言 以前看过很多次KMP算法,一直觉得很有用,但都没有搞明白,一方面是网上很少有比较详细的通俗易懂的讲解,另一方面也怪自己没有沉下心来研究.最近在leetcode上又遇见字符串匹配的题目,以此 ...
- 如何在Jupyter里以不同的运行模式使用Pyspark
假设你的环境已经安装好了以下东西,如何详细的安装它们不在本文的讨论范围之内 具体的可疑参考三分钟搞定jupyter和pyspark整合 anaconda2 findspark pyspark 这里多说 ...
- try.dot.net 的正确使用姿势
[简介] 微软官方前不久发布了 try.dot.net 这个有趣的网址,开始只是图个新鲜看了一下,后面通过自身实践过后,发现这着实算是个“有趣”的站点! 首先我们大概地列举一下这个站点能给我们带来什么 ...
- OSGI打安装包步骤(底包制作)
相关资源下载 equinox-SDK-LunaSR2 : https://pan.baidu.com/s/1xOzZZ3_VAuQJ3Zfp4W8Yyw 提取码: gjip gemini-web- ...
- Entity Framework Core系列之DbContext(添加)
上一篇我们介绍了Entity Framework Core系列之DbContext,对DbContext有了概念上的了解,这篇将介绍DbContext添加数据 通过DbContext添加实体的主要方法 ...
- Python学习之路——函数的参数分类
今日内容 '''实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合*****形参:定义函数,在括号内声明的变量名,用来接受外界传来的值''''''注:形参随着函数的调用 ...