Shape.java_java / swing:将文本字符串转换为Shape

小编典典

嗯,我不知道这个的答案,但是在经过一些调整和使用Eclipse内容帮助后,我发现了这似乎是您需要的:

编辑:我更改为代码以更改显示字符串的方式,这就是您问您所问问题的原因:)尝试一下。 它用红色和虚线虚线呈现字符串

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Component;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.RenderingHints;

import java.awt.Shape;

import java.awt.font.GlyphVector;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Test extends JPanel{

private Shape s;

public Test() {

Font f = getFont().deriveFont(Font.BOLD, 70);

GlyphVector v = f.createGlyphVector(getFontMetrics(f).getFontRenderContext(), "Hello");

s = v.getOutline();

setPreferredSize(new Dimension(300,300));

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2 = (Graphics2D)g.create();

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

g2.translate(100, 150);

g2.rotate(0.4);

g2.setPaint(Color.red);

g2.fill(s);

g2.setPaint(Color.black);

g2.setStroke(new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 1, new float[]{1,0.4f,1.5f}, 0));

g2.draw(s);

}

public static void main(String[] args) {

JFrame f = new JFrame("Test");

Component c = new Test();

f.getContentPane().add(c);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.pack();

f.setVisible(true);

}

}

还请注意,您可以通过调用以下命令从字符串中获取单个字符:

getGlyphOutline(glyphIndex)

2020-09-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值