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 ...
随机推荐
- 为什么要使用TypeScript开发Web应用程序
TypeScript仍然相对较新,但已经赢得了很多信徒.继续阅读,看看这种很酷的语言的一些最好的功能. 定义TypeScript TypeScript是由Microsoft Corporation开发 ...
- ORM杂记
1.反射练习 import sys class Person(object): def __init__(self, name): self.name = name def eat(self, foo ...
- 在Bootstrap开发框架中使用dataTable直接录入表格行数据(2)--- 控件数据源绑定
在前面随笔<在Bootstrap开发框架中使用dataTable直接录入表格行数据>中介绍了在Web页面中使用Jquery DataTable插件进行对数据直接录入操作,这种处理能够给用户 ...
- Lepus搭建企业级数据库全方位监控系统
前言 Lepus(天兔)数据库企业监控系统是一套由专业DBA针对互联网企业开发的一款专业.强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的监控.目前已经 ...
- MaxCompute教程
MaxCompute全套攻略:https://blog.csdn.net/qq_35394891/article/details/82943894 [2019年大数据福利推荐]MaxCompute教程 ...
- U盘安装CentOS系统、raid5制作以及nohup的使用
最近折腾服务器,用U盘安装了系统,总结了一些避坑措施: 下载UltraISO工具,用来刻盘 从centos官网下载ISO镜像,然后刻盘 关键是在你进入系统安装界面后,如下: 选中第一项,按tab键(看 ...
- T66597 小xzy的任务 题解
T66597 小xzy的任务 题目背景 今天,小xzy的班主任交给他一个严肃的任务,匹配羽毛球运动员! ! ! 题目描述 羽毛球队有男女运动员各n人.给定2个n×n矩阵P和Q.Pij是男运动员i和女 ...
- BEX5下增加sessionStorage监听器实现页面间数据刷新
场景: A页面修改了数据,希望B页面能进行及时的同步前端数据,但是假如当A页面修改保存后,去获得B页面的model对象,会增加开发的难度,同时A页面也不能重复利用:假如在B页面的激活事件里面写刷新代码 ...
- 近期学习docker遇到的一些问题
最近看某谷的springboot视频,看到了docker部分,在实践过程中遇到了一些问题 默认国外镜像,下载软件很慢 linux内核版本过低,与docker运行不匹配 这里记录一下解决方案 第一个问题 ...
- codeforces733C
Epidemic in Monstropolis CodeForces - 733C 有n条鱼排成一列,第i条鱼大小为ai,根据自然界的生存法则,相邻的两只鱼中,较大的鱼可以吃掉较小的鱼,如果两条鱼大 ...