我不太确定图形如何在Java中工作,所以我无法调试我的问题。 我有一个类MyFrame扩展JPanel。现在我在MyFrame上进行一些绘图保存,并保存有关该特定框架的属性,然后将其添加到MyFrame的ArrayList集合中。稍后,我想回忆一下MyFrame的某个实例的属性,并在屏幕上重新绘制该帧。让框架图形再次出现是我遇到的问题。保存JPanel图形
下面是一段代码,可以证明我的问题。
public class MyFrame extends JPanel{
private int property;
private int x;
private int y;
public MyFrame(int xp, int yp){
x = xp;
y = yp;
}
@override
public void paintComponent(Graphics g){
super.paintComponent(g);
g.fillRect(x,y,5,5);
}
public void setProperty(int p){
property = p;
}
}
public class MainClass() extends JPanel{
private ArrayList<MyFrame> frames = new ArrayList<MyFrame>;
private MyFrame currentFrame = new MyFrame();
public void addFrame(int x, int y){
this.remove(currentFrame);
currentFrame = new MyFrame();
this.add(currentFrame);
frames.add(currentFrame);
}
public void setFrame(int frame){
this.remove(currentFrame);
currentFrame = frames.get(frame);
this.add(currentFrame);
}
}
总结: 我想面板以显示正确的帧时SETFRAME被调用。目前当我做这个设置框架将是空白的。
+1'CardLayout'建议。 – mre
@mre:和同上!:) –
什么是最大妈妈可以放入CardLayout的“卡片”数量。此应用程序的目的是设计逐帧动画,最终将播放到我正在构建的10x10 RGB LED板。由于这将是潜在的大动画,肯定会有几百帧 – kelab