1 package com.bluecove.emu.gui;
2
3 import java.awt.BorderLayout;
4 import java.awt.Component;
5
6 import javax.swing.JLabel;
7 import javax.swing.JPanel;
8 import javax.swing.JScrollPane;
9 import javax.swing.JSplitPane;
10
11 import org.jgraph.graph.GraphLayoutCache;
12
13 import com.bluecove.emu.gui.graph.GraphView;
14 import com.bluecove.emu.gui.graph.GraphPane;
15
16 public class EmulatorPane extends JPanel {
17
18 private static final long serialVersionUID = 1L;
19
20 private GraphPane graphPane;
21
22 private GraphView graphView;
23
24 private JPanel detailsPane;
25
26 private JPanel connectionsPane;
27
28 public EmulatorPane() {
29 super();
30 setLayout(new BorderLayout());
31
32 graphView = new GraphView();
33
34 graphPane = new GraphPane(graphView);
35 detailsPane = new JPanel();
36 detailsPane.add(new JLabel("DETAILS"));
37 connectionsPane = new JPanel();
38 connectionsPane.add(new JLabel("CONNECTIONS"));
39
40
41
42 JPanel upperPanel = new JPanel();
43 upperPanel.setLayout(new BorderLayout());
44
45 JSplitPane horisontalSplit = createSplitPane(
46 new JScrollPane(graphPane), detailsPane, JSplitPane.HORIZONTAL_SPLIT);
47 upperPanel.add(horisontalSplit, BorderLayout.CENTER);
48
49 JSplitPane verticalSplit = createSplitPane(
50 upperPanel, connectionsPane, JSplitPane.VERTICAL_SPLIT);
51 add(verticalSplit);
52 }
53
54
55
56 public JSplitPane createSplitPane(Component first, Component second,
57 int orientation) {
58 JSplitPane splitPane = new JSplitPane(orientation, first, second);
59 splitPane.setBorder(null);
60 splitPane.setFocusable(false);
61 splitPane.setOneTouchExpandable(true);
62 splitPane.setResizeWeight(0.2);
63 return splitPane;
64 }
65
66 }