mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
improve GraphStreamViewer
This commit is contained in:
parent
9e178b681b
commit
f8f75e6398
1 changed files with 54 additions and 33 deletions
|
|
@ -1,5 +1,17 @@
|
|||
package jsprit.analysis.toolbox;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JFormattedTextField;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JSeparator;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
import jsprit.core.problem.VehicleRoutingProblem;
|
||||
import jsprit.core.problem.job.Job;
|
||||
import jsprit.core.problem.job.Service;
|
||||
|
|
@ -70,22 +82,6 @@ public class GraphStreamViewer {
|
|||
NO_LABEL, ID
|
||||
}
|
||||
|
||||
// private static class BoundingBox {
|
||||
// final double minX;
|
||||
// final double minY;
|
||||
// final double maxX;
|
||||
// final double maxY;
|
||||
//
|
||||
// public BoundingBox(double minX, double minY, double maxX, double maxY) {
|
||||
// super();
|
||||
// this.minX = minX;
|
||||
// this.minY = minY;
|
||||
// this.maxX = maxX;
|
||||
// this.maxY = maxY;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
private static class Center {
|
||||
final double x;
|
||||
final double y;
|
||||
|
|
@ -108,8 +104,6 @@ public class GraphStreamViewer {
|
|||
|
||||
private Center center;
|
||||
|
||||
// private BoundingBox boundingBox;
|
||||
|
||||
private VehicleRoutingProblem vrp;
|
||||
|
||||
private VehicleRoutingProblemSolution solution;
|
||||
|
|
@ -166,7 +160,29 @@ public class GraphStreamViewer {
|
|||
|
||||
public void display(){
|
||||
|
||||
// JFrame jframe = new JFrame();
|
||||
JFrame jframe = new JFrame();
|
||||
|
||||
JPanel basic = new JPanel();
|
||||
basic.setLayout(new BoxLayout(basic,BoxLayout.Y_AXIS));
|
||||
|
||||
JPanel topPanel = new JPanel(new BorderLayout());
|
||||
topPanel.setMaximumSize(new Dimension(450, 0));
|
||||
|
||||
MessageFormat format = new MessageFormat("{0,number,00}:{1,number,00}:{2,number,00}");
|
||||
JFormattedTextField textField = new JFormattedTextField(format);
|
||||
textField.setEditable(false);
|
||||
textField.setMaximumSize(new Dimension(100,30));
|
||||
textField.setMinimumSize(new Dimension(80,30));
|
||||
textField.setHorizontalAlignment(JTextField.LEFT);
|
||||
textField.setText("00:01:56");
|
||||
|
||||
topPanel.add(textField, BorderLayout.WEST);
|
||||
|
||||
|
||||
|
||||
basic.add(topPanel);
|
||||
|
||||
|
||||
|
||||
System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
|
||||
Graph g = new MultiGraph("g");
|
||||
|
|
@ -174,28 +190,33 @@ public class GraphStreamViewer {
|
|||
g.addAttribute("ui.antialias");
|
||||
g.addAttribute("ui.stylesheet", styleSheet);
|
||||
|
||||
Viewer viewer;
|
||||
Viewer viewer = new Viewer(g,Viewer.ThreadingModel.GRAPH_IN_ANOTHER_THREAD);
|
||||
View view = viewer.addDefaultView(false);
|
||||
|
||||
basic.add(view);
|
||||
|
||||
// viewer.getDefaultView().setLayout(new BorderLayout());
|
||||
//
|
||||
// MessageFormat format = new MessageFormat("{0,number,00}:{1,number,00}:{2,number,00}");
|
||||
jframe.add(basic);
|
||||
////
|
||||
// JFormattedTextField textField = new JFormattedTextField(format);
|
||||
// textField.setEditable(false);
|
||||
// textField.setMaximumSize(new Dimension(100,30));
|
||||
// textField.setMinimumSize(new Dimension(80,30));
|
||||
// textField.setHorizontalAlignment(JTextField.LEFT);
|
||||
// textField.setText("00:01:56");
|
||||
// textField.s
|
||||
// viewer.getDefaultView().add(textField,BorderLayout.NORTH,);
|
||||
jframe.setVisible(true);
|
||||
jframe.setSize(800,600);
|
||||
jframe.setLocationRelativeTo(null);
|
||||
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
if(center != null){
|
||||
viewer = g.display(false);
|
||||
View view = viewer.getDefaultView();
|
||||
// viewer = g.display(false);
|
||||
// View view = viewer.getDefaultView();
|
||||
view.resizeFrame(800, 600);
|
||||
view.getCamera().setViewCenter(center.x, center.y, 0);
|
||||
view.getCamera().setViewPercent(zoomFactor);
|
||||
}
|
||||
else viewer = g.display();
|
||||
// else viewer = g.display();
|
||||
|
||||
|
||||
|
||||
// viewer.getDefaultView().add(textField,BorderLayout.NORTH);
|
||||
// viewer.getDefaultView().;
|
||||
|
||||
if(!enableAutoLayout) viewer.disableAutoLayout();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue