Java Component类的常用方法.ppt_第1页
Java Component类的常用方法.ppt_第2页
Java Component类的常用方法.ppt_第3页
Java Component类的常用方法.ppt_第4页
Java Component类的常用方法.ppt_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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_BASELINE Font.HANGING_BASELINE、Font.TRUE

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

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

6、ont.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) 组件调用该方法设置组件在容器中的位置,包含该组件的容器都有默认的坐标系,容器的坐标系的左上角的坐标是(0,0),参数x

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

8、标。 (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的值就是当前组件的宽度和高度。,Rectangle对象是

9、一个很有用的对象。下面是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时,组件不可激活。默认情况下,组件是可以被激活的。 (2)public boolean

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

12、建光标对象。Cousor类中有许多类常量,它们是: HAND_CURSOR, CROSSHAIR_CURSOR, TEXT_CURSOR, WAIT_CURSOR, SW_RESIZE_CURSOR,SE_RESIZE_CURSOR, NW_RESIZE_CURSOR,NE_RESIZECURSOR,N_RESIZE_CURSOR,S_RESIZE_CURSOR, W_RESIZE_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR,MOVE_CURSOR. CUSTOM_CURSOR 用这些类常量和类的构造方法可以创建标准的光标形状,例如: Cursor c=new C

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

14、个方法:public void paint(Graphics g),我们可以在其子类中重写这个方法。当重写这个方法时,相应的java运行环境将参数g实例化,这样我们就可以在类中使用g调用相应方法,比如画串、画图形 。 调用repaint方法时,程序首先清除paint()方法以前所画的内容,然后再调用paint方法。 实际上当我们调用repaint()方法时,程序自动地去调用update(Graphics g)方法,该方法也是Component类中的一个方法,这个方法的功能是,清除paint()方法以前所画的内容然后再调用paint方法。因此我们可以在子类中重写update方法(即隐藏父类的方法),据需要来清除哪些部分或保留哪些部分。 在下面的例子143中,当单击“全部清除”按钮时,程序清除paint方法所绘制的全部内容,不再调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论