使用 Java2D API。这是O'Reilly的一本关于它的优秀书籍。
1-使用您喜欢的字体。2-将您需要的字形(例如“2”“/”和“3”)转换为Java2D形状。3-使用Java@d方法缩放并将形状放在一起
4-此部分取决于组件。我认为很多组件需要某种图像而不是文本。将您的形状转换为适合您所选择的组件的任何形状。
5-如果你做得很好,这应该看起来很专业:)
来吧,给我50!!!
=============
非常感谢您的积分。下面是如何执行第一步的示例。它将演示如何从所选字体的字符中获取 Shape 的实例。enter code here
拥有后,您可以使用Graphics2D创建所需的图像(缩放,撰写等)。所有摆动组件都不同,但都有图形上下文。使用图形内容,您可以在任何 Swing 组件上绘制。您还可以制作透明图层,并在您想要的任何东西上粘贴传输JPanel。如果您只想在标签上显示分数,那很容易。如果你有某种文字处理器,那很难。Shape
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.Shape;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
public class Utils {
public static Shape generateShapeFromText(Font font, char ch) {
return generateShapeFromText(font, String.valueOf(ch));
}
public static Shape generateShapeFromText(Font font, String string) {
BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = img.createGraphics();
try {
GlyphVector vect = font.createGlyphVector(g2.getFontRenderContext(), string);
Shape shape = vect.getOutline(0f, (float) -vect.getVisualBounds().getY());
return shape;
} finally {
g2.dispose();
}
}
}