2014-06-13 58 views
0

我一直試圖增加在Java中使用setStroke方法的行寬度,但我似乎要得到的唯一輸出是一條錯誤消息,說「無法找到方法setStroke」。如何增加線寬(Java Applet)

public void paint(Graphics g){ 
    g.setColor(Color.orange); 
    g.setStroke(new BasicStroke(4)); 
    g.drawLine(5, 5, 480, 5); 
} 

我已經導入

import java.applet.Applet; 
import java.awt.*;   
import java.awt.event.*;  
import javax.swing.*; 
import java.awt.Graphics2D; 

回答

3

嘗試用Graphics2D#setStroke()

只需將它向下轉換到Graphics2D並使用它。

例如

Graphics2D g2d = (Graphics2D)g; 
g2d.setStroke(new BasicStroke(4)); 

注:永遠不要忘記調用super.paint(g)在重寫的方法。

+0

+1打字快:) – camickr

+0

非常感謝.... – Braj

+0

非常感謝,它的工作奇妙 – Taolin

1

您需要更改要輸入到您的方法中的類型。

public void paint(Graphics2D g){ 
    g.setColor(Color.orange); 
    g.setStroke(new BasicStroke(4)); 
    g.drawLine(5, 5, 480, 5); 
} 

Graphics2D而不是Graphics

編輯:

這也將工作(澆鑄):

public void paint(Graphics2D g){ 
    Graphics2D twoD = (Graphics2D) g; 
    twoD.setColor(Color.orange); 
    twoD.setStroke(new BasicStroke(4)); 
    twoD.drawLine(5, 5, 480, 5); 
} 
+0

我嘗試過這一點,但它不會畫出線,因爲它被轉換爲2D。我可以使用語法來繪製2D線,謝謝。 – Taolin