0
我试图得到一个椭圆形每次大小达到50或100的时间来改变渐变的颜色:如何在JFrame不断重新绘制时设置形状的渐变?
class MyDrawPanel extends JPanel {
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.white);
g2d.fillRect(0, 0, 300, 300);
if(dmt == 100 || dmt == 50) {
int red = (int) (Math.random() * 256);
int blue = (int) (Math.random() * 256);
int green = (int) (Math.random() * 256);
Color startColour = new Color(red, green, blue);
red = (int) (Math.random() * 256);
blue = (int) (Math.random() * 256);
green = (int) (Math.random() * 256);
Color endColour = new Color(red, green, blue);
GradientPaint gradient = new GradientPaint(300, 100, startColour, 150, 150, endColour);
g2d.setPaint(gradient);
}
g2d.fillOval((size-dmt)/2, (size-dmt)/2 - dmt/2, dmt, dmt);
}
}
(DMT是直径大小,来了窗口的大小)
我为我想用于圆的渐变设置了2个随机颜色,但是我希望只有在圆的大小达到100或50(它不断增长并缩小到这些尺寸)时它才会更改,但由于我重新绘制了所有内容每次运行时都是白色的,除非它的大小恰好是50或100,否则你永远不会看到它。我怎样才能使它始终保持那种颜色,直到它必须改变?
帮助呢? http://sourceforge.net/p/tus/code/HEAD/tree/tjacobs/ui/ex/ColorGradient.java – ControlAltDel