java 字体变形_怎样用java绘制弧形文字
展开全部
用java绘制弧形文字的方法是调用java 2d图形处理的api实现的。
完整代码如下:
// 引入需要的jar包
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
//定义一个类62616964757a686964616fe58685e5aeb931333363353765
public class FontPanel extends JPanel {
//定义一个画板,入参是图形g
public void paintComponent(Graphics g) {
super.paintComponent(g);
Font f = new Font("SansSerif", Font.BOLD, 14); 设置字体加粗
Font fi = new Font("SansSerif", Font.BOLD + Font.ITALIC, 14);设置字体加粗,斜体
FontMetrics fm = g.getFontMetrics(f); //得到当前的font metrics
FontMetrics fim = g.getFontMetrics(fi);//得到当前的font metrics
String s1 = "Java ";
String s2 = "Source and Support"; 定义字符串
String s3 = " java 字体变形学习";
int width1 = fm.stringWidth(s1); 设置宽度
int width2 = fim.stringWidth(s2);
int width3 = fm.stringWidth(s3);
Dimension d = getSize(); 设置二维图形的维度
int cx = (d.width - width1 - width2 - width3) / 2; 计算绘制字体的x轴
int cy = (d.height - fm.getHeight()) / 2 + fm.getAscent();计算绘制字体的y轴
g.setFont(f);
g.drawString(s1, cx, cy);
cx += width1;
g.setFont(fi);
g.drawString(s2, cx, cy);
cx += width2;
g.setFont(f);
g.drawString(s3, cx, cy);
}
main方法测试:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("NotHelloWorld2");
frame.setSize(350, 200);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new FontPanel());
frame.show();
}
}
运行结果:
java 字体变形_怎样用java绘制弧形文字相关推荐
- java 字体名称_如何从Java获取字体名称列表
在Java中,我们可以创建一个Font对象: new Font("Helvetica", Font.PLAIN, 12); 我的问题是如何从Java中获取整个字体名称列表,例如&q ...
- java字体推荐_详解Eclipse 字体、字号的设置、最佳字体推荐
Eclipse 最佳字体 推荐: 步骤:Eclipse->Windows[窗口]->Preferences[首选项]->General[常规]->Appearance[外观]- ...
- java web 截图_如何以Java实现网页截图技术
今天看到某网友关于"如何以Java实现网页截图技术"的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答. 事实上,如果您想以Java实现网页截图,也就是" ...
- java编程学习方法_在线学习Java编程的最佳方法
java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...
- 马士兵 java 学习笔记_马士兵java教程笔记1
---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...
- java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量
cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...
- java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...
面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...
- java console 交互_实例讲解java中Console类的用法
java的Console类的使用方法及实例 java的Console类的使用方法及实例 JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备.如果你的Java程序要与Win ...
- java for循环_愉快地学Java语言:第五章 循环
导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...
最新文章
- 拒绝遗忘:高效的动态规划算法
- JQuery全选/反选设置
- C++总结笔记(七)—— 运算符重载
- argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
- 【Python基础知识-pycharm版】第四节-元组
- QQ浏览噐怎么拍照识题 QQ浏览器拍照识题教程介绍说明
- 【Excel】函数DateDif查看两个日期之间的间隔
- 三言两语说清“线性流程”
- MySQL essential版本和普通版本有什么区别?
- Catharanthus roseus(长春花碱)的生物合成
- 水经注叠加cad_相见恨晚的50个CAD技巧
- Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
- System.BadImageFormatException:试图加载格式不正确的程序。(异常来自 HRESULT:0x8007000B)
- 【个人喜好诗词之一】归去来兮辞
- 如何在安装时备份sis文件
- Java版本和JDK版本对应关系
- 大学四年·写于离校前
- Sunshine数据库篇之查询
- SHELL对接国际验证码接口
- 读书有益——》《让我留在你身边》
热门文章
- Unicable命令设置
- 柔宇科技掀起的柔性电子潮流,正在加速改变我们的生活
- U8g2库支持的屏幕类型总表以及构造器选择
- 4.3 51单片机-串口通信
- html图片右边加竖线,关于图片右边的竖线问题
- 新任务管理系统YYSchedule-介绍-引擎执行机制及结果回收机制
- CC00417.CloudKubernetes——|KuberNetesNetworkPolicy.V09|——|NetworkPolicy.v09|隔离中间件服务.v05|
- python-cheatsheet,一款很全的Python小抄库
- excel 简单制作数据透视表
- python画图横坐标_python画图把时间作为横坐标的方法