JavaComponent类的常用方法

上传人:宝路 文档编号:48331590 上传时间:2018-07-13 格式:PPT 页数:9 大小:103.58KB
返回 下载 相关 举报
JavaComponent类的常用方法_第1页
第1页 / 共9页
JavaComponent类的常用方法_第2页
第2页 / 共9页
JavaComponent类的常用方法_第3页
第3页 / 共9页
JavaComponent类的常用方法_第4页
第4页 / 共9页
JavaComponent类的常用方法_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《JavaComponent类的常用方法》由会员分享,可在线阅读,更多相关《JavaComponent类的常用方法(9页珍藏版)》请在金锄头文库上搜索。

1、14章Component类的常用方法 141 组件的颜色 组件使用下列方法设置颜色: (1)public void setBackground(Color c) 设置组件的背景色。 (2)public void setForeground(Color c) 设置组件的前景色。 (3)public Color getBackground() 获取组件的背景色。 (4)public Color getForeground() 获取组件的前景色。上述方法中都涉及到Color类,Color类是java.awt包中的类,该类创建的对象称 为颜色对象。 用Color类的构造方法public Color(i

2、nt red,int green,int blue)可以创建一个颜色对 象,其中red、green、blue的取值在0255之间。另外,Color类中还有red 、blue、green、orange、 cyan、yellow、pink等静态常量,都是颜色对象。 Color c=new Color(0,255,255);Btn.setBackground(Color.red);142 组件的字体 (1)public void setFont(Font f) 组件调用该方法设置组件上的字体。例如,文 本组件调用该方法可以设置文本组件中的字体。(2)public Font getFont() 组件调

3、用该方法获取组件上的字体。 上述方法中用到了javaawt包中的Font类,该类创建的对象称为字体对象。 Font类的构造方法是: public Font(String name,int style,int size); 使用该构造方法可以创建字体对象,其中name是字体的名字,如果系统不支持字 体的名字,将取默认的名字创建字体对象。style决定字体的样式,取值是一 个整数,有效取值是: Font.BOLD、Font.PLAIN、Font.ITALIC、 Font.ROMAN_BASELINE、Font.CENTER_BASELINEFont.HANGING_BASELINE、Font.TR

4、UETYPE_FONT 例如,取值是Font.BOLD时,字体的样式是粗体。size参数决定字体的大小, 单位是 磅,例如取值12,就是我们熟悉的5号大小。 在创建字体对象时,应当给出一个合理的字体名字,也就是说,程序所在的 计算机系 统上有这样的字体名字。如果在创建字体对象时,没有给出一个 合理的字体名字,那么该字体在特定平台的字体系统名称为默认名称。 如果想知道,计算机上有哪些字体名字可使用,可以使用 GraphicsEnvironment对象调用String getAvailableFontFamilyNames() 方法 ,该方法获取计算机上所有可用的字体名称,并存放到字符串数组中。

5、GraphicsEnviroment类是java.awt包中的抽象类,不能用构造方法创建对象, Java运行 环境准备好了这个对象,只需让GraphicsEnvironment类调用它的 类方法 public GraphicsEnvironment static getLocalGraphicsEnvironment()获取这个对象的引用即可,如下列代码所示: GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNam

6、es();在font.java例题之中,我们就得到了字体并且改变文本区中的字体注:字体名称只对javax.swing包中的(轻)组件有效(见25章),对于java.awt包中 的组件,系统将取默认的字体名称。 143 组件的大小与位置 (1)public void setSize(int width,int height) 组件调用该方法设置组件的大小, 参数width指定组件的宽度,height指定组件的高度。 (2)public void setLocation(int x,int y) 组件调用该方法设置组件在容器中的位 置,包含该组件的容器都有默认的坐标系,容器的坐标系的左上角的坐标是

7、(0 ,0),参数x、y指定该组件的左上角在容器的坐标系中的坐标,即组件距容器 的左边界x个像素,距容器的上边界y个像素。(3)public Dimension getSize() 组件调用该方法返回一个Dimension对象的引 用,该对象实体中含有名字是width和height的成员变量,方法返回的 Dimension对象的width的值就是组件的宽度、height的值就是当前组件的高度 。(4)public Point getLocation() 组件调用该方法返回一个Point对象的引用,该 对象实体中含有名字是x和y的成员变量,方法返回的Point对象的x、y的值就 是组件的左上角在

8、容器的坐标系中的x坐标和y坐标。(5)public void setBounds(int x,int y,int width,int height) 组件调用该方法设置 组件在容器中的位置和组件的大小。该方法相当于setSize方法和setLocation 方法的组合。 (6)public Rectangle getBounds() 组件调用该方法返回一个Rectangle对象的 引用,该对象实体中含有名字是x、y、width和height的成员变量,方法返回 的Rectangle对象的 x、y的值就是组件的左上角在容器的坐标系中的x坐标和y 坐标,width和height的值就是当前组件的宽

9、度和高度。 Rectangle对象是一个很有用的对象。下面是Rectangle对象的常用方法。 Rectangle(int x,int y,int width,int height) 创建一个左上角坐标是(x,y),宽是 width,高是height的矩形。 public boolean intersects(Rectangle rect) 判断当前矩形是否和rect相交。 public boolean contains(int x,int y) 判断点(x,y)是否在当前矩形内。 public boolean contains(int x,int y,int width,int height

10、) 判断当前矩形是否包含 参数所指定的矩形。 public boolean contains(Rectangle rect) 判断当前矩形是否包含参数所指定的 矩形。 public Rectangle intersection(Rectangle rect) 得到当前矩形与rect相交部分 所构成的矩形,如果当前矩形和rect不相交,就返回null。 144 组件的激活与可见性 (1)public void setEnabled(boolean b) 组件调用该方法可以设置组件是否可被 激活,当参数b取值true时,组件可以被激活,当参数b取值false时,组件不 可激活。默认情况下,组件是可

11、以被激活的。(2)public boolean isEnabled() 判断组件是否是可激活的,当组件是可激活状 态时,该方法返回true。(3)public void setVisible(boolean b) 设置组件在该容器中的可见性,当参数b 取值true时,组件在容器中可见,当参数b取值false时,组件在容器中不可见 。除了Window型组件外,其他类型组件默认是可见的。(4)public boolean isVisible() 判断组件是否是可见的,当组件是可见时,该方 法返回true。 145 组件上的光标 public void setCursor(Cursor c) 设置鼠

12、标指向组件时的光标形状。使用Cursor类可以创建光标对象。Cousor类中有许多类常量,它们是: HAND_CURSOR, CROSSHAIR_CURSOR, TEXT_CURSOR, WAIT_CURSOR, SW_RESIZE_CURSOR,SE_RESIZE_CURSOR, NW_RESIZE_CURSOR,NE_RESIZECURSOR,N_RESIZE_CURSOR,S_RE SIZE_CURSOR, W_RESIZE_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR,MOVE_CURSOR. CUSTOM_CURSOR 用这些类常量和类的构造方法可以创建标

13、准的光标形状,例如: Cursor c=new Cursor (Cursor.HAND_CURSOR); 创建了一个“手”形的光标对象。 另外,我们也可以使用Cursor类的类方法直接获得一个光标对象,例如: Cursor c=Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); 在下面的例子cursor中,有一个按钮button和一个标签。当单击按钮buRon时 ,该按钮横向移动,如果该按钮在移动过程中和标签相交,就将标签设置为 不可见状态,然后按钮改为纵向移动。鼠标在容器区域时光标是HAND形状, 当鼠标指向按钮时光标是MOVE形状。 146 pa

14、int方法与repaint方法 Component类有一个方法:public void paint(Graphics g),我们可以在其子类 中重写这个方法。当重写这个方法时,相应的java运行环境将参数g实例化, 这样我们就可以在类中使用g调用相应方法,比如画串、画图形 。调用repaint方法时,程序首先清除paint()方法以前所画的内容,然后再调用 paint方法。实际上当我们调用repaint()方法时,程序自动地去调用update(Graphics g)方 法,该方法也是Component类中的一个方法,这个方法的功能是,清除 paint()方法以前所画的内容然后再调用paint方

15、法。因此我们可以在子类中重 写update方法(即隐藏父类的方法),据需要来清除哪些部分或保留哪些部分。在下面的例子143中,当单击“全部清除”按钮时,程序清除paint方法所 绘制的全部内容,不再调用paint方法;当单击“部分清除”按钮时,程序清 除paint方法所绘制一部内容,不再调用paint方法。 习题1编写程序,观察各种组件设置背景色和前景色的情况。2编写小应用程序,其布局为null,在容器中有两个按钮,单击一个按钮让 另一个按钮移动。3编写小应用程序,其布局为null,在容器中有3个按钮和一个画布,3个按 钮的颜色分别红、 绿、蓝。单击相应的按钮,画布绘制相应颜色的圆。4编程程序,测试Cursor类中表示鼠标形状的静态常量。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号