java gui是什么_Java GUI编程(一)

********************第16章 GUI编程 **************************

一.什么是GUI

GUI= Graphical User Interface 图形用户接口 图形用户界面

GUI是用java来编写带界面的应用程序

两套技术

1. AWT(Abstract Window Toolkit)

抽象窗口工具集

图形界面不是java本身实现的,其实是依赖于操作系统的底层函数

为了让同一个java程序运行在不同的操作系统上效果一致,所以

awt技术是抽取所有操作系统中共有的函数,这样既然是函数的交集

肯定功能比较单一

2. Swing

纯java实现的 由于本身不依赖于操作系统的底层函数 所以组件比较丰富

也可以跨平台

二.why

1. Awt 和Swing 虽然过时了,但是图形用户界面的编程思想并没有过时,我们学习

这一章主要学习GUI编程的思想,为以后学习Android等打下一个基础

2. 为了做初级项目

*******************普通组件的继承关系图和常用方法******************

普通组件的常用方法

1. 设置位置

setLocation(int x,int y)

2. 设置大小

setSize(int width,int height)

3. 设置位置和大小

setBounds(int x,int y,int width,int height)

4. 设置组件的可见性

setVisible(boolean flag)

容器的常用方法

容器: 它是一个特殊的组件,可以放其他的组件

1. 往容器中添加组件

Component add(Component component)

...

**********************容器组件的继承关系图*************************

一.window(窗口)

顶级容器 可以独立使用

二.Panel(面板)

不是顶级容器 只能放在其他容器中使用(Window或Panel)

早期把java程序分为两大类:

1. application

2. applet 可以嵌入到网页中的java小程序

applet后来被flash技术打败了

**********************************Frame****************************************

顶级容器,可以独立使用

Frame代表常见的窗口,它是Window类的子类,具有如下几个特征:

1.Frame对象有标题,允许通过拖拉来改变窗口的位置、大小

2.初始化时为不可见,可用setVisible(true)使其显示出来

3.默认使用BorderLayout作为布局管理器(稍后再说)

package com.chapter16;

import java.awt.Frame;

public class TestFrame {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(300, 200);

frame.setVisible(true);

}

}

**********************************Panel****************************************

不是顶级容器,不可以独立使用,必须放到其他容器中(例如Window或Panel)

1.可作为容器来盛装其他组件,为放置组件提供空间

2.不能单独存在,必须放到其他容器中

3.默认使用FlowLayout作为其布局管理器

演示代码:

package com.chapter16;

import java.awt.Button;

import java.awt.Frame;

import java.awt.Panel;

import java.awt.TextField;

public class TestPanel {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(250, 120);

//测试Panel

Panel panel = new Panel();

panel.add(new TextField(20));

panel.add(new Button("发送"));

//再把panel放到frame中

frame.add(panel);

frame.setVisible(true);

}

}

**********************************ScrollPane**************************************

带有滚动条的面板

把Panel 改成 ScrollPane 以后 单行文本框没了,原因是被按钮盖住了..

原因ScrollPane默认是BorderLayout 边框布局 如果添加的时候 没有指定添加元素的位置 默认添加到中间

两个组件都添加到中间 按钮就把单行文本框覆盖了

演示代码:

package com.chapter16;

import java.awt.Frame;

import java.awt.ScrollPane;

import java.awt.TextArea;

public class TestScrollPane {

public static void main(String[] args) {

Frame frame = new Frame("我是标题");

frame.setLocation(50, 150);

frame.setSize(250, 120);

//测试Panel

//ScrollPane.SCROLLBARS_AS_NEEDED 默认值 需要的时候再加滚动条

ScrollPane panel = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);

panel.add(new TextArea(5,20));

//panel.add(new Button("发送"));

//再把panel放到frame中

frame.add(panel);

frame.setVisible(true);

}

}

*******************************布局管理器**************************

一.为什么用布局管理器

使用了布局管理器以后,程序员就不需要主动调整控件的大小了, 由布局管理器帮你实现(相当于一个适配器)

要不然程序员一个一个调整组件的大小太麻烦了

二.如何设置容器的布局管理器

布局管理器类的对象

容器对象.setLayout(new XXXLayout());

三.常见的布局管理器(6种)

1. FlowLayout 流式布局

就像在txt或doc文档中打字一样,文字出现的顺序就是往流式布局 中添加的顺序

Panel 默认是流式布局

2. BorderLayout 边框布局

Frame 默认是边框布局的

类似4个人围桌 打麻将

如果想添加五个以上的组件,可以先把组件添加到Panel中,然后把Panel添加到 边框布局的容器中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值