diff options
Diffstat (limited to 'src/main/java/nn/pp/rc/u.java')
-rw-r--r-- | src/main/java/nn/pp/rc/u.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/nn/pp/rc/u.java b/src/main/java/nn/pp/rc/u.java new file mode 100644 index 0000000..c5c08d4 --- /dev/null +++ b/src/main/java/nn/pp/rc/u.java @@ -0,0 +1,55 @@ +package nn.pp.rc; + +import java.applet.Applet; +import java.awt.Frame; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +/** + * This is a simple class to override the nn.pp.rc.u class from the applet. + * + * We need to do this, because the original class is doing some nasty things in + * the processWindowEvent method. This class has the same name (and the same + * package) and is somewhere before the applet in the classpath. So we cannot + * import the original class here, but the class is so simple, that we can + * implement it from scratch. + */ +public class u extends Frame +{ + ServerConsolePanelBase consolePanel; + + public u(Applet applet, String title, ServerConsolePanelBase consolePanel) + { + super(title + " Remote Console"); + this.consolePanel = consolePanel; + this.add(consolePanel, "Center"); + + this.addWindowListener(new WindowAdapter() + { + @Override + public void windowClosing(WindowEvent windowEvent) + { + applet.stop(); + } + }); + } + + /** + * Close this frame. + */ + public void a() + { + this.setVisible(false); + this.setState(0); + this.dispose(); + + // "Close" the console panel + consolePanel.r(); + } + + public void a(String path, String target) + { + // Nothing here, because we do not need the redirection to another page + // when the applet exists. + } +} |