展开全部

用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绘制弧形文字相关推荐

  1. java 字体名称_如何从Java获取字体名称列表

    在Java中,我们可以创建一个Font对象: new Font("Helvetica", Font.PLAIN, 12); 我的问题是如何从Java中获取整个字体名称列表,例如&q ...

  2. java字体推荐_详解Eclipse 字体、字号的设置、最佳字体推荐

    Eclipse 最佳字体 推荐: 步骤:Eclipse->Windows[窗口]->Preferences[首选项]->General[常规]->Appearance[外观]- ...

  3. java web 截图_如何以Java实现网页截图技术

    今天看到某网友关于"如何以Java实现网页截图技术"的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答. 事实上,如果您想以Java实现网页截图,也就是" ...

  4. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

  5. 马士兵 java 学习笔记_马士兵java教程笔记1

    ---恢复内容开始--- 前记 虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master 标识符 标识符是由字母 ...

  6. java 02-cf_cf活动如何设置java环境变量_如何设置java环境变量

    cf助手怎么连接wifi_连接无线网设置 对于刚刚学习java的win7用户来说,首先要学会安装jdk和配置java环境变量,这是学习java的唯一途径,否则编写的代码运行时会出现bug.关于这一点, ...

  7. java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...

    面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...

  8. java console 交互_实例讲解java中Console类的用法

    java的Console类的使用方法及实例 java的Console类的使用方法及实例 JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备.如果你的Java程序要与Win ...

  9. java for循环_愉快地学Java语言:第五章 循环

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...

最新文章

  1. 拒绝遗忘:高效的动态规划算法
  2. JQuery全选/反选设置
  3. C++总结笔记(七)—— 运算符重载
  4. argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
  5. 【Python基础知识-pycharm版】第四节-元组
  6. QQ浏览噐怎么拍照识题 QQ浏览器拍照识题教程介绍说明
  7. 【Excel】函数DateDif查看两个日期之间的间隔
  8. 三言两语说清“线性流程”
  9. MySQL essential版本和普通版本有什么区别?
  10. Catharanthus roseus(长春花碱)的生物合成
  11. 水经注叠加cad_相见恨晚的50个CAD技巧
  12. Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
  13. System.BadImageFormatException:试图加载格式不正确的程序。(异常来自 HRESULT:0x8007000B)
  14. 【个人喜好诗词之一】归去来兮辞
  15. 如何在安装时备份sis文件
  16. Java版本和JDK版本对应关系
  17. 大学四年·写于离校前
  18. Sunshine数据库篇之查询
  19. SHELL对接国际验证码接口
  20. 读书有益——》《让我留在你身边》

热门文章

  1. Unicable命令设置
  2. 柔宇科技掀起的柔性电子潮流,正在加速改变我们的生活
  3. U8g2库支持的屏幕类型总表以及构造器选择
  4. 4.3 51单片机-串口通信
  5. html图片右边加竖线,关于图片右边的竖线问题
  6. 新任务管理系统YYSchedule-介绍-引擎执行机制及结果回收机制
  7. CC00417.CloudKubernetes——|KuberNetesNetworkPolicy.V09|——|NetworkPolicy.v09|隔离中间件服务.v05|
  8. python-cheatsheet,一款很全的Python小抄库
  9. excel 简单制作数据透视表
  10. python画图横坐标_python画图把时间作为横坐标的方法