2010-05-15 67 views
66

我想增加Line2D的寬度。我找不到任何方法來做到這一點。我需要爲此實際製作一個小矩形嗎?Java2D:增加線寬

回答

139

您應該使用setStroke來設置Graphics2D對象的描邊。

http://www.java2s.com的示例給出了一些代碼示例。

下面的代碼產生圖像如下:(。注意,setStroke方法不在Graphics對象可用你必須將它轉換爲一個Graphics2D對象)

import java.awt.*; 
import java.awt.geom.Line2D; 
import javax.swing.*; 

public class FrameTest { 
    public static void main(String[] args) { 
     JFrame jf = new JFrame("Demo"); 
     Container cp = jf.getContentPane(); 
     cp.add(new JComponent() { 
      public void paintComponent(Graphics g) { 
       Graphics2D g2 = (Graphics2D) g; 
       g2.setStroke(new BasicStroke(10)); 
       g2.draw(new Line2D.Float(30, 20, 80, 90)); 
      } 
     }); 
     jf.setSize(300, 200); 
     jf.setVisible(true); 
    } 
} 

enter image description here


此主題已被改寫爲文章here

+24

+1爲插圖!另外,請考慮'g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON)' – trashgod 2010-05-15 17:05:02

+1

是的。好點子。 – aioobe 2010-05-15 21:30:26