<html>
* GUI(Graphical User Interface):图像用户接口。
* CLI:命令用户接口。
* java为GUI提供的对象都在java.Awt中和javaSwing两个包中。
* java.Awt:(Abstract Window ToolKit)抽象窗体工具包。须要调用本地系统方法实现功能。属于重量控件。
* javax.Swing:在AWT的基础上。建立的一套图形界面系统,当中提供了很多其它的组件,并且全然由java实现,增强了移植性,属于轻量级控件。
* 一.布局:容器中的组件的排放方式,就是布局。
* 1.FlowLayout(流式布局管理)
* 从左到右的顺序排列,Panel(面板)默认的布局管理器。
* 2.BorderLayout(边界布局管理器)
* 东南西北中。Frame默认的布局管理器。
* 3.GridLayout(网格布局管理器)
* 规则的矩阵。
* 4.CardLayout(卡片布局管理器)
* 选项卡。
* 5.GridBagLayout(网格包布局管理器)
* 非规则的矩阵。
*/
import java.awt.*;
public class GuiDemo {
public static void main(String[] args) {
AwtDemo();
System.out.println("gogoing");
}
//定义一个窗口,设置窗口名称,设置窗口可见。
public static void AwtDemo()
{
//设置窗口名称,
Frame f=new Frame("my awt");
//设置窗口可见
f.setVisible(true);
}
}
/*
* 一.创建图形化界面:
* 1.创建frame窗口。
* 2.对窗口进行基本设置。如:大小,位置。布局。
* 3.定义组件。
* 4.将组建通过窗口的add方法加入到窗口中。
* 5.让窗口显示,通过setViseble(true)。
*
* 二.事件监听机制的特点:
* 1.事件源:
* awt包或者swing包中的那些图形界面组件。
* 2.事件:
* 每个事件源都有自己特有的相应事件和共性事件。
* 3.监听器:
* 将能够出发某一个事件的动作(不仅仅一个动作)都已经封装到了监听器中。
*以上三者都在java中定义好了。直接获取对象。
* 4.事件处理:
* 程序猿自己须要对产生的动作进行处理。
*
*/
import java.awt.*;
import java.awt.event.*;
public class AwtDemo {
public static void main(String[] args) {
FrameDemo();
}
public static void FrameDemo()
{
//创建frame窗口。
Frame f=new Frame();
//对窗口进行基本设置,如:大小。位置,布局。
f.setSize(500,500);
f.setTitle("lolclient");
f.setLocation(300,300);
f.setLayout(new FlowLayout());
//定义组件,;而且加入属性。
Button b=new Button("我是一个button");
f.add(b);
//用窗口调用加入监听器的方法,方法里必须接收一个(监听器)windowListtener接口子类对象。
//而该接口里有七个方法,子类必须所有复写。而我们仅仅须要调用我们须要的方法。所以此方法不行。
//该接口的抽象子类WindowAdapter复写了其所有的方法。并且不是抽象。
//所以我们定义该类的子类。而且复写我们须要的方法。就可以。
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//e表示事件的全部信息。没有非常大意义。
System.out.println("close windos"+e.toString());
System.exit(0);
}
});
//让窗口显示
f.setVisible(true);
}
}
/*定义WindowAdapter子类。
class MyWin extends WindowAdapter
{
//窗口关闭动作处理方式。仅仅要监听器一监听到用户的关闭动作就会自己主动调用此方法进行处理。
public void windowClosing(WindowEvent e)
{
//System.out.println("close windos");
System.exit(0);
}
}*/
import java.awt.*;
import java.awt.event.*;
public class FrameDemo {
//先定义该图形中所须要的组件的引用。
private Frame f;
private Button but;
FrameDemo()
{
init();
}
//对图形化界面进行初始化。
public void init()
{
f=new Frame("my frame");
//对frame进行基本设置,该方法包括setsize和setlocation.
f.setBounds(200,200,400,300);
f.setLayout(new FlowLayout());
but=new Button("my button");
//将组建加入到frame中
f.add(but);
//显示窗口之前,载入一下窗口上的事件。
myEvent();
//显示窗口
f.setVisible(true);
}
private void myEvent()
{
//为窗口加入监听器
f.addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
});
//让button具备退出程序的功能。
/*
* button就是时间源。
* 那么选择哪个监听器,须要查看该组件对象的功能。
* 通过查阅button的api,发现按钮支持一个特有的监听addActionListener
*/
//为button加入一个活动监听器,ActionListener监听器不须要适配器,由于它仅仅有一个方法。
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("退出,button干的");
System.exit(0);
}
});
}
public static void main(String[] args) {
new FrameDemo();
}
}
- 本文已收录于下面专栏:
相关文章推荐
-
创建图形用户界面GUI和事件监听机制的简单实现(java)
创建图形化界面 1、创建Frame窗口 2、对窗口进行基本设置 比方:大小、位置、布局 3、定义组件 4、将组建通过窗口加入到窗口中 5、让窗口显示,...- u011528448
- 2015-01-17 16:51
- 387
-
Java开源 AJAX框架
DWR <div id='dictc_PWDECMEC1' style='padding-right: 15px; padding-left: 15px; padd- benben
- 2008-02-05 10:21
- 1298
-
细说Java GUI:AWT。SWT,Swing
原文:http://blogs.sun.com/Swing/entry/awt_swt_swing_java_gui 译者:Matthew Chen Overview概述 Jav...- zzxian
- 2011-06-21 17:36
- 674
-
细说Java GUI:AWT。SWT,Swing
Overview概述 Java GUI 工具包一直是一个倍受争议的话题。相同的争论也发生在其它编程语言如Smalltalk。实际上每一个平台无关的语言都存在着这种争论。Java作为当前最受广泛使用的编程语言而尤为突出。
这场争论在支持模拟组件
- 迷你狐
- 2010-09-19 01:14
- 6781
-
细说Java GUI:AWT。SWT,Swing
原文:http://blogs.sun.com/Swing/entry/awt_swt_swing_java_gui- finch
- 2010-09-06 16:29
- 772
0条评论