java awt编程_JAVA中AWT编程 - osc_t2w0zvsf的个人空间 - OSCHINA - 中文开源技术交流社区...

JAVA使用AWT和Swing 类完成图形用户界面编程,AWT全称是抽象窗口工具集(Abstract Window Toolkit),它是最早的sun提供的GUI库(Graphics User Interface)图形用户界面。

AWT是窗口框架,它从不同平台的窗口系统中抽取共同组件,当使用AWT编写图形界面应用时,程序仅指定了界面组件的位置和行为,并为提供真正的实现,JVM 调用操作系统本地的图形界面来创建和平台一直的对等体。

1.   java中所有和AWT编程相关的类放在java.awt包以及他的子包中。  AWT中有两个基类:Component和MenuComponent。

Component代表一个以图形化方式显示出来,并可与用户交互的对象;

MenuComponent则代表图形界面菜单组件,包括MenuBar(菜单条),MenuItem(菜单项)等。

aa1ae47a051e7045bee186dae0c4beea.png

2.AWT容器

在AWT中 Container  是一种特殊的Component。它代表一种容器。Container是Component的子类 。容器本身也是一个组件,具有组件的性质。可以调用Component类中的所有方法。

AWT提供了两种主要容器类型

Window:可以独立存在的窗口。

Panel:可作为容器容纳其他组件,但不能独立存在,必须添加到其他容器中。

Frame代表常见的窗口,它是Window类的子类,

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

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

默认使用 BorderLayout作为其布局管理器。

ad2c502cd76ba443285ed571da669f8d.png

通过Frame创建一个窗口

packageAWT1;importjava.awt.Frame;public classFrameTest {public static voidmain(String[] args) {

Frame f= new Frame("测试窗口");//标题//设置窗口的大小和位置

f.setLocation(30, 30);

f.setSize(250, 200);//将窗口显示出来(默认隐藏)

f.setVisible(true);

}

}

6ba7fe48c2922b0d44200a2e52bec912.png注意:设置窗口位置的下x,y 是从电脑屏幕的左上角开始。     ps(请问一下我在其他博客上看到的为什么背景是白色的,难道真的是桌面图片是白色?)

如果点击此窗口的右上角的“×”,窗口不会关闭,这是因为该窗口还未编写任何事物响应,可以通过关闭程序命令关闭。

通过Panel作为容器来盛装一个文本框和一个按钮,并将该Panel对象添加到Frame对象中

1 packageAWT1;2 importjava.awt.Button;3 importjava.awt.Frame;4 importjava.awt.Panel;5 importjava.awt.TextField;6 public classFrameTest {7 public static voidmain(String[] args) {8 Frame f = new Frame("测试窗口");9 //创建一个Panel 容器

10 Panel p=newPanel();11 //向panel中添加两个组件

12 p.add(new TextField(20));//20列,虽然我不知道什么是20列。

13 p.add(new Button("单机我"));//按钮上的文字14 //将panel放在frame

15 f.add(p);16 f.setBounds(30, 30, 250, 200);17 f.setVisible(true);//默认frame隐藏18 }19 }

3e8b65205fd598dca80267ed0f136ef3.png

ps(  TextField(20)  20列是指什么20列  )

ScrollPane 是一个滚动条的容器,它不能独立存在,必须被添加到其他容器。

ScrollPane特点

1.可作为容器盛装其他组件,当组件占用空间过大时,ScrollPane 自动产生滚动条,当然也可以通过指定特点的构造器参数来指定默认具有滚动条。

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

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

使用ScrollPane容器来代替Panel容器

public classFrameTest {public static voidmain(String[] args) {

Frame f= new Frame("测试窗口");//创建一个scrollPane 容器,指定总是具有滚动条。

ScrollPane sp= newScrollPane(ScrollPane.SCROLLBARS_ALWAYS);//向scrollPane容器中添加两个组件

sp.add(new TextField(20));

sp.add(new Button("click"));//将scrollPane 容器添加到Frame 对象中

f.add(sp);

f.setBounds(30, 30, 250, 200);

f.setVisible(true);

}

}

b1967e976f660f59bfd6ef6a4a0c4d49.png

注意:程序明明有一个文本框,一个按钮,但只能看到一个按钮,却看不到文本框? 这是因为ScrollPane 使用BorderLayout布局管理器,导致了只有一个组件显示出来。

本人毫无编程经验,专科生,一边学一边分享。也希望有大牛帮我回答文章中的问题

第一次写,什么也不懂,写博客的原因时想让大家能指出我的错误,欢迎指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值