我希望字符串有不同的寬度,使我設置的Graphics2D的行程和代碼是在這裏:爲什麼Graphics2D.setStoke()不適用於Graphics2D.drawString?
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(的新BasicStroke它不工作(10 )); 在此先感謝您的幫助。
因爲'drawString'沒有的概念能夠'衝程' – MadProgrammer
對於一些想法,[檢查此](http://stackoverflow.com/questions/10016001/how-to-draw-an-outline-around-text-in-awt) – MadProgrammer
@MadProgrammer 。謝謝,我會用Font來達到我的目標。 – Gearon