Java知多少(96)绘图之设置字型和颜色

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类的其他常用方法:

  1. getStyle(),返回字体风格。
  2. getSize(),返回字体大小。
  3. getName(),返回字体名称。
  4. isPlain(),测试字体是否是正常字体。
  5. isBold(),测试字体是否是粗体。
  6. isItalic(),测试字体是否是斜体。

【例 12-1】小应用程序用6种字型字符串,显示内容说明本身的字型。

 1 import java.applet.*;
 2 import java.awt.*;
 3 public class Example7_1 extends Applet{
 4     Font f1 = new Font("Helvetica",Font.PLAIN,18);
 5     Font f2 = new Font("Helvetica", Font.BOLD,10);
 6     Font f3 = new Font("Helvetica",Font.ITALIC,12);
 7     Font f4 = new Font("Courier",Font.PLAIN,12);
 8     Font f5 = new Font("TimesRoman", Font.BOLD+Font.ITALIC,14);
 9     Font f6 = new Font("Dialog",Font.ITALIC,14);
10     public void paint(Graphics g){
11         setSize(250,200);
12         g.setFont(f1);drawString("18pt plain Helvetica",5,20);
13         g.setFont(f2);drawString("10pt bold Helvetica",5,43);
14         g.setFont(f3);drawString("12pt italic Helvetica",5,58);
15         g.setFont(f4);drawString("12pt plain courier",5,75);
16         g.setFont(f5);drawString("14pt bold & italic times Roman",5,92);
17         g.setFont(f6);drawString("14pt italic dialog",5,111);
18     }
19 }

用类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()获取颜色。

表12-1 Color 类预定义颜色常量
black blue cyan
darkGray gray green
lightGray magenta orange
pink red white
yellow    

【例 12-2】小应用程序设置颜色并涂方块,其中绘制方块的方法将在后续小节中讲到。

 1 import java.applet.*;
 2 import java.awt.*;
 3 public class Example7_2 extends Applet{
 4     public void paint(Graphics g){
 5         setSize(380,200);
 6         for(int i=0;i<=10;i++){
 7             Color myredcolor = new Color(i*25+5,0,0);
 8             g.setColor(myredcolor);
 9             g.fillRect(i*32+5,2,28,28);
10         }
11         for(int i=0;i<=10;i++){
12             Color mygreencolor = new Color(0,i*25+5,0);
13             g.setColor(mygreencolor);
14             g.fillRect(i*32+5,32,28,28);
15         }
16         for(int i=0;i<=10;i++){
17             Color mybluecolor = new Color(0,0,i*25+5);
18             g.setColor(mybluecolor);
19             g.fillRect(i*32+5,62,28,28);
20         }
21     }
22 }

系列文章:

Java知多少(上)

Java知多少(中)

Java知多少(78)Java向量(Vector)及其应用

Java知多少(79)哈希表及其应用

Java知多少(80)图形界面设计基础

Java知多少(81)框架窗口基础

Java知多少(82)标签、按钮和按钮事件简介

Java知多少(83)面板基础:JPanel和JScrollPane

Java知多少(84)图形界面之布局设计

Java知多少(85)文本框和文本区

Java知多少(86)文本框和文本区的输入输出

Java知多少(87)选择框和单选按钮

Java知多少(88)列表和组合框

Java知多少(89)列表和组合框

Java知多少(90)菜单

Java知多少(91)对话框

Java知多少(92)滚动条

Java知多少(93)鼠标事件

Java知多少(94)键盘事件

Java知多少(95)绘图基础

时间: 2024-08-03 11:27:36

Java知多少(96)绘图之设置字型和颜色的相关文章

十一. 图形、图像与多媒体2.设置字型和颜色

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), 在指定的位置显示

改变TLabel字型和颜色(Styled特性高于自身特性,李维的博客)

最近收到几位使用者的来信都是和如何改变FireMonkey TLabel组件的字型和颜色, 这几位使用者都是直接改变TextSettings特性中的Font子特性但却无法改变字型和颜色, 因此来信询问. FireMonkey的TLabel组件控制组件的字型和颜色其实有2个特性, 分别是StyledSettings和TextSettings, 而且StyledSettings特性优先于TextSettings特性,在内定上StyledSettings特性会设定它的Size和FontColor子特性

Java知多少(98)Graphics类的绘图方法

Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等. 1. 画线在窗口画一条线段,可以使用Graphics类的drawLine()方法:    drawLine(int x1,int y1,int x2,int y2)例如,以下代码在点(3,3)与点(50,50)之间画线段,在点(100,1

Java知多少(99)Graphics2D类的绘图方法

Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能力,提供.坐标转换.颜色管理以及文字布局等更精确的控制. 绘图属性 Graphics2D定义了几种方法,用于添加或改变图形的状态属性.可以通过设定和修改状态属性,指定画笔宽度和画笔的连接方式:设定平移.旋转.缩放或修剪变换图形:以及设定填充图形的颜色和图案等.图形状态属性用特定的对象存储. 1. stroke属性stroke属性控制线条的宽度.笔形

Java知多少(105)套接字(Socket)

网络应用模式主要有: 主机/终端模式:集中计算,集中管理: 客户机/服务器(Client/Server,简称C/S)模式:分布计算,分布管理: 浏览器/服务器模式:利用Internet跨平台. www(万维网)就是建立在客户机/服务器模式上,以HTML语言和HTTP协议为基础,能够提供各种Internet服务的信息浏览系统.网络信息放在主机的不同位置,www服务器利用超文本链路链接各项信息.www客户机(浏览器Brower)负责与服务器建立联系,向服务器发送请求,处理HTML超媒体,提供图形用户

Java知多少(完结篇)

Java知多少(1)语言概述 Java知多少(2)虚拟机(JVM)以及跨平台原理 Java知多少(3) 就业方向 Java知多少(4)J2SE.J2EE.J2ME的区别 Java知多少(5) Java开发环境的搭建 Java知多少(6)第一个程序示例 Java知多少(7)类与对象 Java知多少(8)类库及其组织结构 Java知多少(9) import及Java类的搜索路径 Java知多少(10)数据类型及变量 Java知多少(11)数据类型转换 Java知多少(12)运算符 Java知多少(1

Java知多少(110)数据库之插入记录

插入数据表记录有3种方案 一.使用Statement对象 实现插入数据表记录的SQL语句的语法是: insert into 表名(字段名1,字段名2,……)value (字段值1,字段值2,……) 例如: insert into ksInfo(考号,姓名,成绩,地址,简历)value(‘200701’,’张大卫’534,’上海欧阳路218弄4-1202’,’’) 实现同样功能的Java程序代码是: sql = “insert intoksIno(考号,姓名,成绩,地址,简历)”; sql= =

Java知多少(97)框架窗口基础

窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用.有以下三种窗口: Applet窗口:Applet类管理这个窗口,当应用程序程序启动时,由系统创建和处理: 框架窗口(JFrame):这是通常意义上的窗口,它支持窗口周边的框架.标题栏,以及最小化.最大化和关闭按钮: 一种无边框窗口(JWindow):没有标题栏,没有框架,只是一个空的矩形. 用Swing中的JFrame类或它的子类创建的对象就是JFram

Java知多少(104)网络编程之统一资源定位符URL

统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址.超文本链路由统一资源定位符URL维持.URL的格式是: <METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE> 其中:Method是传输协议:HOSTNAME是文档和服务器所在的Internet主机名(域名系统中DNS中的点地址);PORT是服务端口号(可省略):PATH是路径名,FILE是文件名.例