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 }