|
@@ -12,6 +12,8 @@ import java.awt.event.ComponentEvent;
|
|
|
import java.awt.event.KeyEvent;
|
|
|
import java.awt.event.MouseAdapter;
|
|
|
import java.awt.event.MouseEvent;
|
|
|
+import java.beans.PropertyChangeEvent;
|
|
|
+import java.beans.PropertyChangeListener;
|
|
|
|
|
|
import javax.swing.JButton;
|
|
|
import javax.swing.JFileChooser;
|
|
@@ -20,6 +22,7 @@ import javax.swing.JLabel;
|
|
|
import javax.swing.JLayeredPane;
|
|
|
import javax.swing.JPanel;
|
|
|
import javax.swing.JScrollPane;
|
|
|
+import javax.swing.JSplitPane;
|
|
|
import javax.swing.JTextArea;
|
|
|
import javax.swing.JTextField;
|
|
|
import javax.swing.JTree;
|
|
@@ -453,6 +456,7 @@ public class MainView {
|
|
|
frame.setVisible( true );
|
|
|
|
|
|
JLayeredPane layne = new JLayeredPane();
|
|
|
+ layne.setLayout( new BorderLayout() );
|
|
|
JPanel pl = new JPanel();
|
|
|
GridLayout grout = new GridLayout( 2, 2, 10, 10 );
|
|
|
pl.setLayout( grout );
|
|
@@ -470,7 +474,11 @@ public class MainView {
|
|
|
NodeView combined = createNodeView( graph, LayoutType.COMBINED );
|
|
|
combined.setSize( 500, 500 );
|
|
|
layne.add( combined, 0 );
|
|
|
- frame.add( layne );
|
|
|
+
|
|
|
+ JSplitPane spane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT );
|
|
|
+ spane.setLeftComponent( layne );
|
|
|
+ spane.setResizeWeight(0.5);
|
|
|
+
|
|
|
|
|
|
|
|
|
JPanel menue = new JPanel();
|
|
@@ -485,7 +493,6 @@ public class MainView {
|
|
|
menue.add( stepBackward );
|
|
|
menue.add( delayText );
|
|
|
menue.add( delay );
|
|
|
- menue.add( treeView );
|
|
|
menue.add( stepBackwardInto );
|
|
|
menue.add( stepBackwardOut );
|
|
|
menue.add( runBackward );
|
|
@@ -493,8 +500,27 @@ public class MainView {
|
|
|
menue.add( save );
|
|
|
menue.add( load );
|
|
|
menue.add( options );
|
|
|
- menue.add( debugView );
|
|
|
- frame.add( menue, BorderLayout.EAST );
|
|
|
+
|
|
|
+ JSplitPane spane2 = new JSplitPane( JSplitPane.VERTICAL_SPLIT );
|
|
|
+ spane2.setBounds( 10, 110, 390, 650 );
|
|
|
+ spane2.setTopComponent( treeView );
|
|
|
+ spane2.setBottomComponent( debugView );
|
|
|
+ spane2.setDividerLocation( 390 );
|
|
|
+ spane2.setResizeWeight(0.5);
|
|
|
+ menue.add( spane2 );
|
|
|
+
|
|
|
+ spane.setRightComponent( menue);
|
|
|
+ spane.setContinuousLayout(true);
|
|
|
+ spane.setDividerLocation( frame.getWidth() - 430 );
|
|
|
+ spane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void propertyChange(PropertyChangeEvent evt) {
|
|
|
+ frame.getComponentListeners()[ 0 ].componentResized( null );
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ frame.add( spane );
|
|
|
frame.setSize( frame.getWidth() + 1, frame.getHeight() );
|
|
|
frame.setSize( frame.getWidth() - 1, frame.getHeight() );
|
|
|
frame.validate();
|
|
@@ -503,10 +529,8 @@ public class MainView {
|
|
|
frame.addComponentListener(new ComponentAdapter()
|
|
|
{
|
|
|
public void componentResized(ComponentEvent evt) {
|
|
|
- pl.setSize( layne.getSize() );
|
|
|
menue.setSize( menue.getWidth(), layne.getHeight() );
|
|
|
- treeView.setSize( treeView.getWidth(), layne.getHeight() - 370 );
|
|
|
- debugView.setBounds( treeView.getX(), treeView.getY() + treeView.getHeight() + 10, treeView.getWidth(), 240 );
|
|
|
+ spane2.setSize( menue.getWidth() - 20, menue.getHeight() - 120 );
|
|
|
if( graph.getColor( LayoutType.COMBINED ) == null )
|
|
|
{
|
|
|
grout.setHgap( 10 );
|
|
@@ -613,6 +637,11 @@ public class MainView {
|
|
|
|
|
|
algorithm.start();
|
|
|
}
|
|
|
+
|
|
|
+ private void resized()
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
private NodeView createNodeView( LayeredGraphNode gNode, LayoutType lt )
|
|
|
{
|