Java作為一種高級編程語言,其畫圖功能不可避免地涉及到撤銷與恢復操作。在Java中,我們可以通過以下代碼實現撤銷和恢復功能:
// 撤銷 public void undo() { if (!drawList.isEmpty()) { undoList.add(drawList.get(drawList.size() - 1)); drawList.remove(drawList.size() - 1); } } // 恢復 public void redo() { if (!undoList.isEmpty()) { drawList.add(undoList.get(undoList.size() - 1)); undoList.remove(undoList.size() - 1); } }
我們使用了一個繪圖列表(drawList)來記錄所有的繪圖操作,并且使用另一個撤銷列表(undoList)來記錄被撤銷的操作。在撤銷操作中,我們將最后一個繪圖操作從繪圖列表中移除,并將其添加到撤銷列表中。在恢復操作中,我們將最后一個被撤銷的操作從撤銷列表中移除,并重新添加到繪圖列表中。通過這樣的方式,我們可以方便地實現撤銷與恢復功能。