2011-02-24 38 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