【发布时间】:2012-12-07 06:50:37
【问题描述】:
我有两个类..类面板扩展了 JPanel,
还有另一个类每秒控制该 jpanel 的绘制..(我使用 swing.Timer)
我下面的代码失败了
到目前为止,我尝试了..
类面板扩展 JPanel :
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Control control = new Control(this,g);
repaint();
}
类控制:
public class Control implements ActionListener{
private int XX=0;
private int YY=0;
private Graphics2D g2;
private JPanel panel;
Timer tim = new Timer(1000, this);
public Control(JPanel el,Graphics g) {
this.g2=(Graphics2D)g.create();
this.panel=el;
tim.start();
}
@Override
public void actionPerformed(ActionEvent e) {
XX++;
YY++;
/////////////////////
//my priority
GradientPaint gp = new GradientPaint(XX, YY, Color.BLUE, panel.getWidth(), panel.getHeight(), Color.WHITE);
//////////////////////
g2.setPaint(gp);
g2.fillRect(0, 0, panel.getWidth(), panel.getHeight());
panel.repaint();
}
}
我需要每秒钟改变一次 GradientPaint 的起点
然后每秒在jpanel中绘制一次
我该怎么办?
谢谢..
【问题讨论】:
-
现在有什么问题?
-
@NikolayKuznetsov 我的代码失败..
-
怎么会失败??解释更多
标签: java swing jpanel paintcomponent