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 ...
随机推荐
- apt-get 详解&&配置阿里源
配置apt-get的下载源 1.复制原文件备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.编辑源列表文件 sudo vim / ...
- 【vue】vue全家桶
vue-router(http://router.vuejs.org) vuex(https://vuex.vuejs.org/zh/guide/) vue-resource(https://gith ...
- pytorch实现性别检测
卷积神经网络的训练是耗时的,很多场合不可能每次都从随机初始化参数开始训练网络. 1.训练 pytorch中自带几种常用的深度学习网络预训练模型,如VGG.ResNet等.往往为了加快学习的进度,在 ...
- 百度杯”CTF比赛 九月场 123
进去后让登录,先看源码有提示 进到user.php 后发现是空的,看了wp才知道,有bak 下载下来直接爆破 但是那个1990是蛮骚的 直接进去登录 登录成功后是空的,走fd看看是怎么过 的 改包然后 ...
- P1546 最短网络 Agri-Net题解(克鲁斯卡尔)
P1546 最短网络 Agri-Net 那么这个题是一道最小生成树的板子题 在此讲解kruskal克鲁斯卡尔方法: 原理: 并查集在这里被用到: 众所周知:树满足这样一个定理:如果 图 中有n个节点并 ...
- Golang 入门系列(四)如何理解interface接口
前面讲了很多Go 语言的基础知识,包括go环境的安装,go语言的语法等,感兴趣的朋友,可以先看看之前的文章.https://www.cnblogs.com/zhangweizhong/category ...
- System.nanoTime与System.currentTimeMillis的区别(转)
原文地址:http://blog.csdn.net/dliyuedong/article/details/8806868 平时产生随机数时我们经常拿时间做种子,比如用System.currentTim ...
- photoshop快速把新照片制作成老照片教学
原图 步骤1 在photoshop中找开需要处理的图片,Ctrl+J复制图片,得到图片1. 步骤2 单击图层面板底部的创建新的填充或调整图层图标,添加色调/饱和度调整图层.调整它的饱合度和明度. 步骤 ...
- spring boot 操作MySQL pom添加的配置
1 在项目中的pom.xml配置文件添加依赖 <!--MySQL依赖 --> <dependency> <groupId>mysql</groupId> ...
- Android艺术——Bitmap高效加载和缓存(1)
通过Bitmap我们可以设计一个ImageLoader,实现应该具有的功能是: 图片的同步加载:图片的异步加载:图片的压缩:内存缓存:磁盘缓存:网络获取: 1.加载 首先提到加载:BitmapFact ...