001 002 package gui; 003 004 import java.awt.event.KeyListener; 005 import java.awt.event.WindowListener; 006 import java.awt.event.ActionListener; 007 import java.awt.event.ActionEvent; 008 009 import javax.swing.event.ChangeListener; 010 import javax.swing.Timer; 011 import javax.swing.JFrame; 012 013 014 /** 015 * Main class to handle the TSPs and the GUI. 016 * @author Heinz Kredel. 017 */ 018 public class TSPgui { 019 020 /** 021 * @param args unused. 022 */ 023 public static void main(String[] args) { 024 025 final TSPguiModel model = new TSPguiModel(); 026 KeyListener keyControl = new TSPguiKeyControl(model); 027 WindowListener windowControl = new TSPguiWindowControl(model); 028 ActionListener actionControl = new TSPguiActionControl(model); 029 ChangeListener changeControl = new TSPguiChangeControl(model); 030 //JFrame.setDefaultLookAndFeelDecorated(true); 031 JFrame main = new TSPguiMain(model, 032 keyControl, 033 windowControl, 034 actionControl, 035 changeControl); 036 ActionListener wecker = new ActionListener() { 037 public void actionPerformed(ActionEvent evt) { 038 model.doUpdate(); 039 } 040 }; 041 Timer repaint = new Timer(250, wecker); 042 repaint.start(); 043 044 model.waitDone(); 045 main.setVisible(false); 046 repaint.stop(); 047 main.dispose(); 048 System.exit(0); 049 } 050 051 }