栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号