2011-02-24 40 views
2

我試圖使用java.awt.Graphics.drawLine()方法使用java.awt.Component.getGraphics()上繪製的一系列線條對AWT組件進行漸變效果,但這種方式永遠不會被繪製。有誰知道如何提交這些圖形到組件,以便他們保持調整大小和其他事件調用重繪?自定義繪畫AWT組件

回答

2

您僅限於AWT組件嗎?如果沒有,我建議你用Swing組件去(那些開始「J」對於風俗畫你重寫了paintComponent方法,例如:

import java.awt.Graphics; 

import javax.swing.JPanel; 

public class CustomPaintingComponent extends JPanel 
{ 
    @Override 
    protected void paintComponent(Graphics g) 
    { 
     super.paintComponent(g); // This will clear everything... 

     // ... now you can apply your custom painting, for example: 
     g.drawLine(10, 10, getWidth() - 10, getHeight() - 10); // A line from upper left to lower right corner 
    } 
} 
0

您需要重寫組件的paint方法。否則,如果您只是使用一個圖形對象並且一次只寫一行,那麼下一次調用組件繪畫方法時,它將重新繪製所有更改。

+0

我怎樣才能做到這一點,那又有什麼意義呢?上述方法? – Supuhstar 2011-02-24 22:15:15