package net.sourceforge.pain.tools.guitool.action;
import net.sourceforge.pain.tools.guitool.*;
import net.sourceforge.pain.tools.guitool.dialog.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
public class WorldExplorerAction implements GTAction {
private static JEditorPane instance;
public void executeAction() {
try {
GuiTool.appFrame.workspacePanel.setActiveComponent(getComponent());
} catch (Exception e) {
e.printStackTrace();
}
}
public Component getComponent() throws Exception {
if (instance == null) {
instance = HtmlComponentRegistry.get(getClass());
instance.addHyperlinkListener(new MyHyperlinkListenerImpl());
}
return instance;
}
private static class MyHyperlinkListenerImpl extends DefaultHyperlinkListenerImpl {
public void hyperlinkUpdate(HyperlinkEvent ev) {
if (ev.getEventType() != HyperlinkEvent.EventType.ACTIVATED) {
return;
}
if (ev.getURL().toString().endsWith("/exit")) {
GlobalPerformer.exit();
} else {
super.hyperlinkUpdate(ev);
}
}
}
}