00001 /* 00002 * This file is part of JXClient, the Fullscreen Java Crossfire Client. 00003 * 00004 * JXClient is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * JXClient is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with JXClient; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00017 * 00018 * Copyright (C) 2005-2008 Yann Chachkoff. 00019 * Copyright (C) 2006-2011 Andreas Kirschbaum. 00020 */ 00021 00022 package com.realtime.crossfire.jxclient.gui.commands; 00023 00024 import com.realtime.crossfire.jxclient.gui.commandlist.GUICommand; 00025 import com.realtime.crossfire.jxclient.gui.gui.GUIElement; 00026 import java.awt.Component; 00027 import org.jetbrains.annotations.NotNull; 00028 00034 public class ToggleCommand implements GUICommand { 00035 00039 @NotNull 00040 private final Component target; 00041 00046 public ToggleCommand(@NotNull final Component target) { 00047 this.target = target; 00048 } 00049 00053 @Override 00054 public boolean canExecute() { 00055 return true; 00056 } 00057 00061 @Override 00062 public void execute() { 00063 target.setVisible(!target.isVisible()); 00064 } 00065 00066 }