初识图形用户界面(2)

写在前面:本篇是对《初识图形用户界面(1)》的补充。

二.窗体属性

JFrame类本身只包含若干个改变窗体外观的方法。当然,利用继承的魔力,大多数处理窗体大小和位置的方法都来自JFrane 的各个超类。其中最重要的有以下方法:

●setLocation方法和setBounds方法用于设置窗体的位置。

●setIconImage 方法用于告诉窗口系统在标题栏、任务切换窗口等位置显示哪个图标。

●setTitle方法用于改变标题栏的文字。

●setResizable 利用一个boolean 值确定是否允许用户改变窗体的大小。

正像API注解中所说的,需要在Component 类(是所有GUI对象的祖先)和Windod类(Frane类的超类)中寻找调整窗体大小和改变窗体形状的方法。例如, Component类中的setLocation方法是一个重新定位组件的方法。如果调用

setLocation(x, y)

则窗口左上角要位于水平向右x像素,垂直向下y像素的位置,坐标(0, 0)是屏幕的左上角位置。类似地,Component中的setBounds方法可以实现一步调整组件(特别是JFrame)的大小和位置,例如

setBounds(x, y, width, height)

组件类的很多方法是以获取/设置方法对形式出现的,例如,Frame 类的以下方法:

public String getTitle()
public void setTitle(String title)

这样的一对获取/设置方法被称为属性( property)。 属性有一个名和一个类型。将get或set之后的第一个字母改为小写字母就可以得到相应的属性名。例如,Frame 类有一个名为title且类型为String的属性。

从概念上讲,title 是窗体的一-个属性。当设置这个属性时,我们希望用户屏幕上的标题能够改变。当获取这个属性时,希望能够返回已经设置的属性值。

关于get/set约定,有一个例外: 对于类型为boolean的属性,获取方法以is开头。例如,下面两个方法定义了resizable 属性:

public boolean isResizable()
public void setResizable(boolean resizable)

要确定适当的窗体大小,首先要得出屏幕的大小。调用Toolkit类的静态方法getDefaultToolkit得到一个Toolkit对象( Toolkit类相当于一一个“基地”,包含大量与原生窗口系统交互的方法)。然后,调用getScreenSize方法,这个方法以Dimension对象的形式返回屏幕的大小。Dimension对象同时用公共( ! )实例变量width和height保存屏幕的宽度和高度。然后可以使用屏幕大小的一个适当的百分数指定窗体的大小。下面是相关的代码:


Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenwidth = screenSize.width;

int screenHeight = screenSize.height;

setSize(screenWidth / 2, screenHeight / 2);

 另外,还提供窗体图标。

Image img = new ImageIcon("icon.gif").getImage();

setIconImage(img);

 

有了(1)和(2)的相关知识,设计一个简单的图形用户界面就不再话下了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值