java_GUI(3)

颜色

g2.setPaint(Color.RED)

g2.drawString("Warning!",100,100)

只需要将调用的draw替换为调用fill就可以用一种颜色填充一个封闭图形(例如:矩形或椭圆)的内部

Rectangle2D rect=. . .;

g2.setPaint(Color.RED);

g2.fill(rect);

要想绘制多种颜色,就需要按照选择颜色,绘制图形,再选择另外一种颜色,再绘制图形的过程实施

可以通过提供红,绿和蓝三色成分来创建一个Color对象,以达到定制颜色的目的。

Color(int redness,int greenness,int blueness)

要想设置背景色,就需要使用Component类中的setBackground方法,Component类是JComponent类的祖先。

MyComponent p=new MyComponent();

p.setBackground(Color.PINK);

另外,还有一个setForeground方法,它是用来设定在组件上进行绘制时使用默认颜色。

java在SystemColor类中预定义了很多颜色的名字,在这个类中的常量,封装了用户系统的各个元素的颜色

p.setBackgroun(SystemColor.window)它将把面板的背景颜色设定为用户桌面上所有窗口使用的默认颜色

为文本设定特殊字体:

下面这个程序将打印出系统上的所有字体名:

package com.supermap;

import java.awt.GraphicsEnvironment;

public class ListFonts {
	public static void main(String []args){
		String[] fontNames=GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
		for (String string : fontNames) {
			System.out.println(string);
		}
	}
}

字体就到这里了......

图像:

如果图像存储在本地文件中,就应该调用:

String filename="...";

Image image=ImageIo.read(new File(filename));

否则,应该提供URL:

String urlname="...";

Image image=ImageIo.read(new URL(urlname));
例子:

g.drawImage(imge,0,0,null)

for(int i=0;i*imageWidth<=getWidth();i++)

     for(int j=0;j*imageHeight<=getHeight();j++)

           if(i+j>0)

               g.copyArea(0,0,imgeWidth,imageHeight,i*imageWidth,j*imageHeigth);

这个的好处是,无论窗口是变大还是变小,都会别image图像填满的。

static BufferedImage read(File)

static BufferedImage read(URL u)

从给定文件或URL上读取图像

boolean drawImage(Image img,int x,int y,null)

boolean drawImage(Image img,int x,int y,int width,int height,null)

void copyArea(int x,int y,int width,int height,int dx,int dy);

x,原始区域上角的坐标

y,原始区域上角的坐标

width原始区域的宽度

dx原始区域到目标区域的水平距离

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值