您的位置:首页 > 产品设计 > UI/UE

黑马程序员__图形用户界面GUI

2013-02-12 16:35 357 查看
图形用户界面GUI

GUI

Graphical User Interface(图形用户接口)

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

CLI

Command User Interface(命令行用户接口)

就是常见的Dos命令行操作。

需要记忆一些常用的命令,操作不直观。

举例:创建删除文件夹等

java为GUI提供的对象,都存在java.Awt和java.Swing两个包中。

Awt与Swing


java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能。 属于重量级组件。依赖于系统。

java.Swing:在Awt基础上建立的一套图形界面系统,其中提供了更多的组件,而且完全由java实现。

增强了移植性,属轻量级实现。

另外还有IBM的Swt包

继承关系图



布局管理器

容器中的组件的排列方式,就是布局。

常见布局管理器:

FlowLayout(流式布局管理器)从左到右排列,Panel默认时的布局管理器。

BorderLayout(边界布局管理器)东南西北中,Frame默认的布局管理器。

GridLayout(网格布局管理器)规则的矩阵

CardLayout(卡遍布局管理器)选项卡

GridBagLayout(网个包布局管理器)非规则的矩阵,一个组件可能占用多个网格。

一个Fram中组件如果有多重布局,使用不同布局的面板Panel来填充Frame。

创建图形化界面

1.创建frame窗体。

2.对窗体进行基本设置。

比如大小,位置,布局。

3.定义组件

4.将组件通过窗体的add方法添加到窗体中。

5.让窗体显示,通过setVisible(true)方法。

Java代码







import java.awt.*;
import java.awt.event.*;
/**
使用流布局管理器。
*/
class MyFrame
{
//定义组件
Frame frame;
Label l1,l2,l3;
TextField tf1,tf2,tf3,tf4;
Button but;
//构造函数初始化窗体
MyFrame()
{
init();
}
public void init()
{
//设置窗体及组件
frame=new Frame("我的绩点");

frame.setBounds(300,100,270,300);

frame.setLayout(new FlowLayout());

l1=new Label("语文");
l2=new Label("数学");
l3=new Label("英语");
but=new Button("绩点");

tf1=new TextField(25);

tf2=new TextField(25);

tf3=new TextField(25);

tf4=new TextField(25);

//添加组件
frame.add(l1);
frame.add(tf1);
frame.add(l2);
frame.add(tf2);
frame.add(l3);
frame.add(tf3);
frame.add(but);
frame.add(tf4);

// 让窗体显示
frame.setVisible(true);
}

}
/*
测试窗体
*/
public class FrameTest

{

public static
void main(String[] args)
{
new MyFrame();
}
}

import java.awt.*;
import java.awt.event.*;
/**
使用流布局管理器。
*/
class MyFrame
{
//定义组件
Frame frame;
Label l1,l2,l3;
TextField tf1,tf2,tf3,tf4;
Button but;
//构造函数初始化窗体
MyFrame()
{
init();
}
public void init()
{
//设置窗体及组件
frame=new Frame("我的绩点");
frame.setBounds(300,100,270,300);
frame.setLayout(new FlowLayout());

l1=new Label("语文");
l2=new Label("数学");
l3=new Label("英语");
but=new Button("绩点");
tf1=new TextField(25);
tf2=new TextField(25);
tf3=new TextField(25);
tf4=new TextField(25);
//添加组件
frame.add(l1);
frame.add(tf1);
frame.add(l2);
frame.add(tf2);
frame.add(l3);
frame.add(tf3);
frame.add(but);
frame.add(tf4);

// 让窗体显示
frame.setVisible(true);
}

}
/*
测试窗体
*/
public class FrameTest
{

public static void main(String[] args)
{
new MyFrame();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: