00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 package com.realtime.crossfire.jxclient.gui.label;
00022
00023 import com.realtime.crossfire.jxclient.gui.gui.GUIElementListener;
00024 import com.realtime.crossfire.jxclient.gui.gui.TooltipManager;
00025 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireFailureListener;
00026 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00027 import java.awt.Color;
00028 import java.awt.Font;
00029 import org.jetbrains.annotations.NotNull;
00030 import org.jetbrains.annotations.Nullable;
00031
00036 public class GUILabelFailure extends GUIMultiLineLabel {
00037
00041 private static final long serialVersionUID = 1;
00042
00046 @NotNull
00047 private final CrossfireServerConnection crossfireServerConnection;
00048
00053 @NotNull
00054 private final CrossfireFailureListener crossfireFailureListener = new CrossfireFailureListener() {
00055
00056 @Override
00057 public void failure(@NotNull final String command, @NotNull final String arguments) {
00058 setText(arguments);
00059 }
00060
00061 @Override
00062 public void clearFailure() {
00063 setText("");
00064 }
00065
00066 };
00067
00078 public GUILabelFailure(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final Font font, @NotNull final Color color, @Nullable final Color backgroundColor) {
00079 super(tooltipManager, elementListener, name, null, font, color, backgroundColor, Alignment.LEFT, "");
00080 this.crossfireServerConnection = crossfireServerConnection;
00081 this.crossfireServerConnection.addCrossfireFailureListener(crossfireFailureListener);
00082 }
00083
00087 @Override
00088 public void dispose() {
00089 super.dispose();
00090 crossfireServerConnection.removeCrossfireFailureListener(crossfireFailureListener);
00091 }
00092
00093 }