我有一个项目,我应该有一个简单的绘画面板,我还必须让用户有多个绘图面板,如多幻灯片表示。 到目前为止,我完成了1个单面板的编码,这是JPanel的扩展。现在,有两个smiple JButton(上一个和下一个),我需要能够打开一个新的干净面板,我还需要能够回到包含我最后一个图纸的前一个。 我有点卡在这里,需要知道如何使这项工作。
答案 0 :(得分:1)
对幻灯片使用CardLayout
。它有next()
/ previous()
种方法。
答案 1 :(得分:0)
您可以使用LinkedList来表示幻灯片,linkedList的每个元素都可以是JPanel。要导航我认为使用ListIterator更容易(您可以使用LinkedList.listIterator()方法访问它),因此当您的用户按下前进按钮时,您可以看起来像:
void btnForwardPressed(){
if(!this.iter.hasNext()) System.out.println("No slides forward");
else this.currentSlide = this.iter.next();
}
对于后退按钮,你会有这样的东西:
void btnBackPressed(){
if(!this.iter.hasPrevious()) System.out.println("No slides back");
else this.currentSlide = this.iter.previous();
}
您还可以通过跟踪方法this.iter.hasPrevious()
和this.iter.hasNext()
的返回来控制后退和前进按钮状态。