java设置字体大小和颜色_带你学java核心技术图形程序设计:颜色+为文本设定特殊字体+图像

本文详细介绍了在Java中设置颜色、字体和处理图像的方法。包括使用Graphics2D设置颜色,Color类定义及使用,预定义和自定义颜色,以及设置背景和前景颜色。此外,还讲解了如何设定特殊字体,如字体名、字体风格和大小,以及字体映射和逻辑字体。最后,探讨了如何加载和显示图像,包括使用ImageIO读取图像和Graphics的drawImage方法。
摘要由CSDN通过智能技术生成

颜色

使用Graphics2D类的setPaint方法可以为图形环境上的所有后续的绘制操作选择颜色。要想绘制多种颜色,就需要按照选择颜色,绘制图形,再选择颜色,再绘制图形的过程实施。

Color类用于定义颜色。在java.awt.Color类中提供了13个预定义的常量,它们分别表示13种标准颜色,如表7-1所示。

fbbec62238d75afd28dc8703c804a5f0.png

例如:

g2.setPaint(Color.RED);

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

注意:在JDK 1.4之前的版本中,标准颜色的名字为小写形式,例如,Color.red。这似乎有些超出寻常,因为标准编码的惯例是采用大写形式书写常量。从JDK 1.4开始,可以采用大写的形式书写标准颜色的名字,不过,为了向后兼容,也可以用小写形式书写。

可以通过提供红、绿和蓝三色成分来创建一个Color对象,以达到定制颜色的目的。三种颜色都是用0~255(也就是一个字节)之间的整型数值表示,调用Color的构造器格式为:

Color(int redness, int greenness, int blueness)

下面是一个定制颜色的例子:

g2.setPaint(new Color(0, 128, 128)); //a dull blue-green

g2.drawString("Welcome!", 75, 125);

注意:除了纯色以外,还可以选择更复杂的“颜料”设置,例如,改变色调(hue)或者图像。有关这方面更加详细的内容请参阅卷II中的高级AWT章节。如果使用Graphics对象,而不是Graphics2D对象,就需要使用setColor方法设置颜色。

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

MyPanel p = new MyPanel( );

p.setBackground(Color.PINK);

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

提示:从名字就可以看出,Color类中的brighter( )方法和darker( )方法的功能,它们分别加亮或变暗当前的颜色。使用brighter方法也是加亮条目的好办法。实际上,brighter( )只微微地加亮一点。要达到耀眼的效果,应该调用这个方法三次:c.brighter( ).brighter( ).brighter( )。

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

p.setBackground(SystemColor.window)

它将把面板的背景颜色设定为用户桌面上所有窗口使用的默认颜色。(无论何时重新绘制窗口,都会填充背景颜色。)当希望让绘制的用户界面元素与用户桌面上已经存在的其他元素的颜色匹配时,使用SystemColor类中的颜色非常有用。表7-2列出了系统颜色的名字和它们的含义。

8e11224896a6d2b0250015b074246a32.png

java.awt.Color 1.0

• Color(int r, int g, int b)

创建一个颜色对象。

参数:r 红色值(0~255)

g 绿色值(0~255)

b 蓝色值(0~255)

java.awt.Graphics 1.0

• void setColor(Color c)

改变当前的颜色。所有后续的绘图操作都使用这个新颜色。

参数:c 新颜色

java.awt.Graphics2D 1.2

• void setPaint(Paint p)

设置这个图形环境的绘制属性。Color类实现了Paint接口。因此,可以使用这个方法将绘制属性设置为纯色。

java.awt.Component 1.0

• void setBackground(Color c)

设置背景颜色。

参数:c 新背景颜色

• void setForeground(Color c)

设置前景颜色。

参数:c 新前景颜色

填充图形

可以选用一种颜色(通常,用当前的绘制颜色)填充闭合图形(例如,矩形或椭圆)的内部。要想填充图形,只需要将draw替换为fill就可以了:

Rectangle2D rect = . . .;

g2.setpaint(Color.RED);

g2.fill(rect); //fills rect with red color

在例7-5的程序中先用红色填充一个矩形,然后

再用暗绿色填充该矩形的内接椭圆,如图7-12所示。

d8cca4be723ff22e3d2965ded85cc6b2.png

例7-5 FillTest.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值