使用Java设置字型和颜色的方法详解

 更新时间:2015年10月08日 17:42:31   投稿:goldensun  
这篇文章主要介绍了使用Java设置字型和颜色的方法,在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);
    }
  }
}

相关文章

  • 关于SpringBoot中controller参数校验的使用

    关于SpringBoot中controller参数校验的使用

    本文主要介绍了关于SpringBoot中controller参数校验的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 浅析Java验证码生成库JCaptcha

    浅析Java验证码生成库JCaptcha

    JCaptcha 是一个用来生成验证码的开源Java类库,使用起来也是非常的简单方便。本文通过代码实例介绍了JCaptcha类库。
    2016-07-07
  • 一文看懂 Spring Aware 接口功能

    一文看懂 Spring Aware 接口功能

    Aware接口是一个空接口,可以理解为是一个标记接口,方便在一个统一的方法(AbstractAutowireCapableBeanFactory.invokeAwareMethods)中进行判断处理赋值,在子接口写出各自的set方法,这篇文章主要介绍了一文看懂 Spring Aware 接口功能,需要的朋友可以参考下
    2024-12-12
  • SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理

    SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理

    Spring Boot中提供了默认的监听器容器,但是有时候我们需要自定义监听器容器,来满足一些特殊的需求,比如批量获取数据,这篇文章主要介绍了SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理,需要的朋友可以参考下
    2023-04-04
  • Java之SSM中bean相关知识汇总案例讲解

    Java之SSM中bean相关知识汇总案例讲解

    这篇文章主要介绍了Java之SSM中bean相关知识汇总案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 一文详解如何在Java Maven项目中使用JUnit 5进行测试

    一文详解如何在Java Maven项目中使用JUnit 5进行测试

    这篇文章主要介绍了如何在Java Maven项目中使用JUnit 5进行测试的相关资料,JUnit5是一个流行的Java测试框架,它涵盖了JUnit5的概述、环境配置、编写测试用例、运行测试、高级特性和最佳实践,需要的朋友可以参考下
    2025-04-04
  • Java通过exchange协议发送邮件

    Java通过exchange协议发送邮件

    这篇文章主要为大家详细介绍了Java通过exchange协议发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • java常用工具类之数据库连接类(可以连接多种数据库)

    java常用工具类之数据库连接类(可以连接多种数据库)

    这篇文章主要介绍了java常用工具类之数据库连接类,可以连接多种数据库,代码中包含详细注释,需要的朋友可以参考下
    2014-07-07
  • Mybatis 自动映射(使用需谨慎)

    Mybatis 自动映射(使用需谨慎)

    这篇文章主要介绍了Mybatis 自动映射(使用需谨慎),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Mybatis SqlSession案例详解

    Mybatis SqlSession案例详解

    这篇文章主要介绍了Mybatis SqlSession详解,本文我们讲了如何创建SqlSession的几个步骤,最后我们获得一个DefaultSqlSession对象,里面包含了执行器Executor和配置对象Configuration,需要的朋友可以参考下
    2023-04-04

最新评论