package net.sourceforge.pain.tools.guitool; import net.sourceforge.pain.tools.guitool.dialog.*; import net.sourceforge.pain.tools.guitool.action.*; import javax.swing.*; import javax.swing.border.*; import java.awt.*; public class WorkspacePanel extends JPanel { public final Explorer explorer; public final JPanel workPanel; public final LogPanel logPanel; JSplitPane hSplitPane; JSplitPane vSplitPane; public WorkspacePanel() { explorer = new Explorer(this); logPanel = new LogPanel(); workPanel = new JPanel(); workPanel.setLayout(new BorderLayout()); vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, workPanel, logPanel); vSplitPane.setContinuousLayout(true); vSplitPane.setOneTouchExpandable(true); vSplitPane.setBorder(new EtchedBorder()); vSplitPane.setResizeWeight(5 / 6D); vSplitPane.setDividerSize(9); hSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, explorer.tree, vSplitPane); hSplitPane.setContinuousLayout(true); hSplitPane.setOneTouchExpandable(true); hSplitPane.setResizeWeight(1 / 4D); hSplitPane.setDividerSize(9); setLayout(new BorderLayout()); add(hSplitPane, BorderLayout.CENTER); setBackground(Color.black); updateState(); } public void addNotify() { super.addNotify(); explorer.selectPath(null); } public void updateState() { final boolean connected = GlobalPerformer.isConnected(); explorer.tree.setEnabled(connected); if (!connected) { try { setActiveComponent(new WorldExplorerAction().getComponent()); } catch (Exception e) { e.printStackTrace(); } } // explorer.tree.setEnabled(true); } public void setActiveComponent(Component component) { workPanel.setVisible(false); workPanel.removeAll(); workPanel.add(component); workPanel.setVisible(true); } }