public void undo() {
        try {
            undoManager.undo();
        } catch (CannotUndoException e) {
            e.printStackTrace();
        }
    }

    public void redo() {
        try {
            undoManager.redo();
        } catch (CannotRedoException e) {
            e.printStackTrace();
        }
    }

    public boolean canRedo() {
        return undoManager.canRedo();
    }

    public boolean canUndo() {
        return undoManager.canUndo();
    }