黑马程序员--java基础--GUI

------- android培训java培训、期待与您交流! ---------

GUI

Graphical User Interface()图形用户接口

用图形的方式,来显示计算机操作的界面,

java为GUI提供的java.awt  javax.Swing两个包

java.awt :

调用本地系统方法实现功能。

 javax.Swing:

在AWT基础上,建立的图形界面系统,提供更多组件

AWT继承关系图:

布局管理器:

容器中组件的排放方式

常见的布局管理器:

1.FlowLayout流式布局

从左到右的排序。panel默认布局。

2.borderLayout边界布局

东南西北中。frame默认布局。

3.GridLayout网格布局

规则的矩形

4.CardLayout卡片布局


 要让组件具备功能,就必须给组件添加监听器

监听机制:


  1.事件源
  2.事件
  3.监听器
  4.事件处理
  
  事件源:就是awt包或者swing包中的图形界面组件
  事件:每个事件源都有自己的特有的对应事件和共性事件。
  监听器:将可以触发某一个事件的动作封装到了监听器中

常见的方法

public Component add(Component comp)
将指定组件追加到此容器的尾部。这是一个适用于  addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。

public void setSize(int width,
                    int height)
调整组件的大小,使其宽度为  width,高度为  height

public void setLocation(int x,
                        int y)
将组件移到新位置。通过此组件父级坐标空间中的  x 和  y 参数来指定新位置的左上角。
public void setBounds(int x,
                      int y,
                      int width,
                      int height)
移动组件并调整其大小。由  x 和  y 指定左上角的新位置,由  width 和  height 指定新的大小。
public void setVisible(boolean b)

根据参数 b 的值显示或隐藏此组件。

package GUI;

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;

/**
 * @param args
 */

public class FrameDemo {

	//定义该图形中所需的组件的引用
	private Frame f;
	private Button but;
	
	FrameDemo() {
		init();
	}
	
	public void init(){
		//新建一个Frame
		f = new Frame("new frame");
		//设置f的位置
		f.setBounds(300,100,600,500);
		//设置布局
		f.setLayout(new FlowLayout());
		//新建按钮
		but = new Button("new button");
		//把按钮添加到frame上
		f.add(but);
		//实现按钮的功能
		myEvent();
		//让frame显示
		f.setVisible(true);
	}
	
	private void myEvent(){
		//给frame设置监听器
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
		//让按钮具备退出功能
		but.addActionListener(new ActionListener() {		
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}
		});
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new FrameDemo();
	}

}


------- android培训java培训、期待与您交流! ---------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值