我不太確定圖形如何在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