Java知多少(96)绘图之设置字型和颜色
(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(),测试字体是否是斜体。
【例 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()获取颜色。
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 }
系列文章:
转载于:https://www.cnblogs.com/Coda/p/4586968.html
Java知多少(96)绘图之设置字型和颜色相关推荐
- Java绘图之设置字型和颜色
Java绘图中,显示文字的方法主要有三种: (1)drawString(String str,int x,int y):在指定的位置显示字符串. (2)drawChars(char data[],in ...
- Java知多少(105)套接字(Socket)
网络应用模式主要有: 主机/终端模式:集中计算,集中管理: 客户机/服务器(Client/Server,简称C/S)模式:分布计算,分布管理: 浏览器/服务器模式:利用Internet跨平台. www ...
- Java Graphics2D类的绘图方法
Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能力,提供.坐标转换.颜色管理以及文字布局等更精确的 ...
- Java Graphics类的绘图方法
Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段 ...
- Java知多少(25)再谈Java包
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包. 包不但可以包含类,还可以包含接口和其他的包. 目录以"\"来表示层级关系,例如 E:\ ...
- 154在屏幕中绘图时设置透明度(扩展知识:为图片视图添加点击手势识别器,来实现点击事件操作)...
一张图片,通过混合模式绘制后,能得到不同效果的图片. 这里的示例仅是测试效果:实际上可以通过不同程度的混合模式绘制,来得到符合需求的效果. 效果如下: ViewController.h 1 #impo ...
- 零基础写Java知乎爬虫之进阶篇
转载自 零基础写Java知乎爬虫之进阶篇 前面几篇文章,我们都是简单的实现了java爬虫抓取内容的问题,那么如果遇到复杂情况,我们还能继续那么做吗?答案当然是否定的,之前的仅仅是入门篇,都是些基础知识 ...
- Java知多少(68)面向字符的输出流
面向字符的输出流都是类 Writer 的子类,其类层次结构如图 10-5 所示. 图10-5 Writer的类层次结构图 表 10-3 列出了 Writer 的主要子类及说明. 表 10-3 Writ ...
- Java知多少(81)框架窗口基础
窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用.有以下三种窗口: Applet窗口:Applet类管理这 ...
最新文章
- 收起 展开 循环 php,CSS3 实现侧边栏展开收起动画
- C# .Net中的类型转换
- boost::fibers::launch::post的测试程序
- 缓冲区溢出(buffer overflow)机理分析
- [BUUCTF-pwn]——[ZJCTF 2019]Login
- Java实现冒泡排序动画展示
- tesorflow 填充‘same’与‘valid’
- php网站分区,PHP - Manual: 分区和分片 (官方文档)
- oracle存储怎么调试tord,接口_数据交换应用指导(20页)-原创力文档
- 大数据相关端口号(hive hdfs spark)
- 有趣的逻辑较量——《啊哈C语言》更新开始
- Android电量优化全解析
- 利用原生JS将下载链接转换为二维码
- poi excel 插入批注
- arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能
- 我国OLED技术和OLED显示屏的发展历程
- javaScript-如何引入js代码
- SAP 标准教材和自学方法
- 激情个P—leo看赢在中国第三季(2)
- xlsx 导出 多级表头数据
热门文章
- springboot2.5.0 整合 redis 配置详解
- 「SDOI2016」储能表(数位dp)
- 关于Linux的虚拟内存管理
- C++学习笔记30:模板与型式参数化
- Gradient Boost Decision Tree(GBDT)中损失函数为什么是对数形式
- assign,copy,strong,weak,nonatomic的理解
- Cakephp事件机制尝鲜
- SDUT ACM 2144 最小生成树,克鲁斯卡尔模板
- 2012暑假集训内部测试赛3
- MFC 问题集(4)CListCtrl