黑马程序员——GUI概述

------ <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.comtarget="blank">

java培训</a>、期待与您交流! ---------

GUI

《1》 Graphical User Interface(图形用户接口)。

《2》用图形的方式,来显示计算机操作的界面,这样更方便更直观。

《3》Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中

新建一个基本的窗体

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Frame;

public class GuiDemes {

public static
void main(String[] args) {// TODO Auto-generated method stub

med();

}

private static void med() {

//创建窗体

Frame f = new Frame("my java");

//对窗体进行基本设置

//设置显示窗体的大小

f.setSize(500,400);

//设置显示窗体显示的位置

f.setLocation(300, 200);

//设置布局方式

f.setLayout(new FlowLayout());

//创建一个按钮对象

Button b = new Button("按纽");

//将按纽添加到显示窗体中去

f.add(b);

//调用方法使窗体显示在窗口中

f.setVisible(true);

}

}

事件监听机制

《1》事件源——就是awt包中的或者swing包中的那些图形界面组件

《2》事件——每一个事件源都有自己特有的对应事件和共性事件

《3》监听器——将可以触发某一个事件的动作都已经封装到了监听器中

《4》事件处理——这是我们要做的事情,对产生的动作进行处理

添加一个关闭功能

第一种方式:

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class GuiDemes {

public static void main(String[] args)

{
// TODO Auto-generated method stub

med();

}

private static void med() {

//创建窗体

Frame f = new Frame("my java");

//对窗体进行基本设置

//设置显示窗体的大小

f.setSize(500,400);

//设置显示窗体显示的位置

f.setLocation(300, 200);

//设置布局方式

f.setLayout(new FlowLayout());

//创建一个按钮对象

Button b = new Button("按纽");

//将按纽添加到显示窗体中去

f.add(b);

//调用自定义关闭对象来关闭显示窗体

f.addWindowListener(new mywinclose());

//调用方法使窗体显示在窗口中

f.setVisible(true);

}

}

//自定义一个关闭类

class mywinclose extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.out.println("666"+e.toString());

System.exit(0);

}

}

第二种实现方式:定义一个匿名内部类

private static void med() {

//创建窗体

Frame f = new Frame("my java");

//对窗体进行基本设置

//设置显示窗体的大小

f.setSize(500,400);

//设置显示窗体显示的位置

f.setLocation(300, 200);

//设置布局方式

f.setLayout(new FlowLayout());

//创建一个按钮对象

Button b = new Button("按纽");

//将按纽添加到显示窗体中去

f.add(b);

//创建一个匿名内部类来执行关闭功能

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

//调用方法使窗体显示在窗口中

f.setVisible(true);

}

简单优化代码

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

class  FrameDemo

{

//定义该组件中所需的引用

private Frame f;

private Button but;

FrameDemo()

{

init();

}

public void init()

{

f = new Frame("my java");

//对窗体进行设置

f.setBounds(100,552,444,568);

f.setLayout(new FlowLayout());

but = new Button("my button");

//将按纽添加到窗体中去

f.add(but);

//加载下窗体事件

myEvent();

//显示窗体

f.setVisible(true);

}

private void myEvent()

{

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

}

public class GuiDemes {

public static void main(String[] args) 

{
// TODO Auto-generated method stub

med2();

}

private static void med2() {

// TODO Auto-generated method stub

FrameDemo f = new FrameDemo();

}

使窗体中的按纽具备关闭功能

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

class  FrameDemo

{

//定义该组件中所需的引用

private Frame f;

private Button but;

FrameDemo()

{

init();

}

public void init()

{

f = new Frame("my java");

//对窗体进行设置

f.setBounds(100,552,444,568);

f.setLayout(new FlowLayout());

but = new Button("my button");

//将按纽添加到窗体中去

f.add(but);

//加载下窗体事件

myEvent();

//显示窗体

f.setVisible(true);

}

private void myEvent()

{

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

//让按纽具备退出程序的功能

but.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

System.out.println("按纽执行");

System.exit(0);

}

});

}

}

public class GuiDemes {

public static void main(String[] args)

{
// TODO Auto-generated method stub

med2();

}

private static void med2() {

// TODO Auto-generated method stub

FrameDemo f = new FrameDemo();

}

运行程序:

时间: 2024-11-05 07:36:29

黑马程序员——GUI概述的相关文章

黑马程序员-GUI

GUI图形化界面Graphical user interface MenuBar通过Frame的方法setMenuBar(Menubar)添加到Frame中.Dialog和FileDialog()通过构造函数接受一个Frame. CLI command user interface java.Awt ;Abstract Window ToolKit 需要调用本地系统方法,属于重量级控件 javax.Swing 在AWT的基础上,由java实现.轻量级控件. 常见的组件的排放方式,就是布局. 常见

黑马程序员——GUI篇

------- android培训.java培训.期待与您交流! ---------- GUI(图形用户界面) 1.基本概念: GUI:Graphical User Interface(图形用户接口).用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI:Command line User Interface (命令行用户接口).就是常见的Dos命令行操作.需要记忆一些常用的命令,操作不直观. Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中. 2.A

黑马程序员——Java概述

一.Java语言概述及三大技术架构 1.Java语言概述 Java是SUN公司于1995年推出的一种面向Internet的编程语言.其特点是:面向对象.通用性.高效性.安全性.跨平台.随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言.  2.Java三大技术架构 Java由四方面组成:Java编程语言. Java文件格式. Java虚拟机(JVM). Java应用程序接口(Java API) Java有三种技术架构,内容如下: (1)J2EE(Java 2 Platf

黑马程序员__Java概述

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1 计算机概述 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机大型计算机

黑马程序员-----Java概述及基础语法

------Java培训.Android培训.期待与您交流! ------- 第一章 java概述及基础语法 一.java概述 1.Java是什么? Java是一门面向对象.面向网络的跨平台高级计算机编程语言,它由SUN(StanfordUniversity Network)公司于1995年推出了.作为目前最热门的编程语言,Java紧跟时代步伐持续推出它的新版本和新的技术实现,以适应计算机技术的快速发展和越来越多样化的市场需求,目前Java版本更新至Java8,Java同时推出三个技术体系以满足

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员——网络编程篇

------- android培训.java培训.期待与您交流! ---------- 概述   1.网络模型        (1).OSI参考模型        (2).TCP/IP参考模型   2.网络通讯要素         (1).IP地址        (2).端口号         (3).传输协议    3.过程        1,找到对方IP. 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识. 为了方便称呼这个数据,叫做端口(逻

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象