package View; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import IO.Writer; import Model.LayeredGraphEdge; import Model.LayeredGraphNode; public class MainView { JFrame frame; public MainView( LayeredGraphNode graph ) { frame = new JFrame(); frame.setSize( (int)graph.getWidth() + 200, (int)graph.getHeight() + 200 ); frame.setLocation( 100, 100 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setVisible( true ); frame.addKeyListener( new KeyListener() { @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent e) { if( e.getKeyCode() == KeyEvent.VK_S ) { Writer w = new Writer( "save.graph" ); w.writeOutputGraph( graph ); } } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } }); NodeView view = createNodeView( graph ); graph.setX( 40 ); graph.setY( 40 ); frame.add( view ); frame.repaint(); } private NodeView createNodeView( LayeredGraphNode gNode ) { NodeView graphView = new NodeView( gNode ); graphView.setOpaque( true ); for( LayeredGraphEdge e : gNode.getContainedEdges() ) { EdgeView ev = new EdgeView( e ); ev.setOpaque( true ); graphView.add( ev ); } for( LayeredGraphNode n : gNode.getContainedNodes() ) graphView.add( createNodeView( n ) ); return graphView; } }