【发布时间】:2014-09-14 06:07:18
【问题描述】:
我希望字符串具有不同的宽度,以便设置 Graphics2D 的笔画,代码在这里:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class StrokeTest {
public static void main(String[] args) {
StrokeTest test = new StrokeTest();
test.createUI();
}
public void createUI(){
JFrame frame = new JFrame();
frame.add(new MainPanel());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
@SuppressWarnings("serial")
class MainPanel extends JPanel{
public MainPanel(){
setPreferredSize(new Dimension(400, 300));
}
protected void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.red);
g2d.setStroke(new BasicStroke(10));
g2d.drawString("I am a string", 100, 100);
}
}
}
但是,当我使用 g2d.setStroke(new BasicStroke(10)); 时它不起作用 提前感谢您的帮助。
【问题讨论】:
-
因为
drawString没有能够Stroke的概念 -
对于一些想法,check out this
-
@MadProgrammer。谢谢,我将使用字体来实现我的目标。
标签: java swing fonts awt stroke