使用Java设置字型和颜色的方法详解
java绘图中,显示文字的方法主要有三种:
(1)drawstring(string str,int x,int y):在指定的位置显示字符串。
(2)drawchars(char data[],int offset,int length, int x, int y):在指定的位置显示字符数组中的文字,从字符数组的offset位置开始,最多显示length个字符。
(3)drawbytes(byte data[],int offset,int length,int x,int y), 在指定的位置显示字符数组中的文字,从字符数组的offset位置开始,最多显示length个字符。
这里给出的显示位置(x,y)为文字的基线的开始坐标,不是文字显示的矩形区域的左上角坐标。
文字字型有三个要素:
字体:常用的字体有times new roman、symbol、宋体、楷体等。
风格:常用的风格有三种:正常、粗体和斜体;分别用三个常量表示:font.plain(正常)、font.bold(粗体)和font.italic(斜体)。风格可以组合使用,例如 ,font.bold+font.italic。
字号:字号是字的大小,单位是磅。
在java语言中,用类font对象字型。font类构造方法有:
font(string fontname,int style,int size),3个参数分别表示字体、风格和字号。例如,代码:
font fna = new font(“细明本”,font.plain,12)
设置的字型的是:细明体、正常风格, 12磅字号。
font类的其他常用方法:
- getstyle(),返回字体风格。
- getsize(),返回字体大小。
- getname(),返回字体名称。
- isplain(),测试字体是否是正常字体。
- isbold(),测试字体是否是粗体。
- isitalic(),测试字体是否是斜体。
【例】小应用程序用6种字型字符串,显示内容说明本身的字型。
import java.applet.*; import java.awt.*; public class example7_1 extends applet{ font f1 = new font("helvetica",font.plain,18); font f2 = new font("helvetica", font.bold,10); font f3 = new font("helvetica",font.italic,12); font f4 = new font("courier",font.plain,12); font f5 = new font("timesroman", font.bold+font.italic,14); font f6 = new font("dialog",font.italic,14); public void paint(graphics g){ setsize(250,200); g.setfont(f1);drawstring("18pt plain helvetica",5,20); g.setfont(f2);drawstring("10pt bold helvetica",5,43); g.setfont(f3);drawstring("12pt italic helvetica",5,58); g.setfont(f4);drawstring("12pt plain courier",5,75); g.setfont(f5);drawstring("14pt bold & italic times roman",5,92); g.setfont(f6);drawstring("14pt italic dialog",5,111); } }
用类color的对象设置颜色,有两种方法生成各种颜色:
用类color预定议的颜色:black,red, white, yellow ……;
通过红绿蓝(rgb)的值合成颜色。
与颜色有关的常用方法:
(1)用类color的构造方法color(int r, int g,int b)创建一个颜色对象,参数r,g,b分别表示红色、绿色和蓝色,它们的取值是从0到255。
(2)用类graphics的方法setcolor(color c),参数c的取值参见表12-1。
(3)用类component的方法setbackground(color c)设置背景颜色。因为小程序是组件类的子类,直接可用setbackground()方法改变背景色。
(4)用类graphics的方法getcolor()获取颜色。
color 类预定义颜色常量
【例】小应用程序设置颜色并涂方块,其中绘制方块的方法将在后续小节中讲到。
import java.applet.*; import java.awt.*; public class example7_2 extends applet{ public void paint(graphics g){ setsize(380,200); for(int i=0;i<=10;i++){ color myredcolor = new color(i*25+5,0,0); g.setcolor(myredcolor); g.fillrect(i*32+5,2,28,28); } for(int i=0;i<=10;i++){ color mygreencolor = new color(0,i*25+5,0); g.setcolor(mygreencolor); g.fillrect(i*32+5,32,28,28); } for(int i=0;i<=10;i++){ color mybluecolor = new color(0,0,i*25+5); g.setcolor(mybluecolor); g.fillrect(i*32+5,62,28,28); } } }
上一篇: PHP图片裁剪与缩放示例(无损裁剪图片)
下一篇: Android Handler多线程详解
推荐阅读
-
java 注解的几大作用及使用方法详解(完) 博客分类: 编程语言 注解 java 注解
-
java 注解的几大作用及使用方法详解(完) 博客分类: 编程语言 注解 java 注解
-
Java的JSON处理器fastjson使用方法详解
-
Java多线程编程中使用Condition类操作锁的方法详解
-
Java的JSON处理器fastjson使用方法详解
-
Java中增强for循环在一维数组和二维数组中的使用方法
-
使用java web 在jsp文件及Class中连接MySQL和SQLsever 的驱动方法
-
Java多线程编程中使用Condition类操作锁的方法详解
-
Java和C#输入输出流的方法(详解)
-
Java面向对象编程中final关键字的使用方法详解