1 package com
.github
.puzzles
.gui
;
3 import java
.awt
.BorderLayout
;
4 import java
.awt
.EventQueue
;
5 import java
.awt
.event
.MouseAdapter
;
6 import java
.awt
.event
.MouseEvent
;
8 import javax
.swing
.JDialog
;
9 import javax
.swing
.JFrame
;
10 import javax
.swing
.JMenu
;
11 import javax
.swing
.JMenuBar
;
12 import javax
.swing
.JMenuItem
;
13 import javax
.swing
.JPanel
;
15 public class MainWindow
{
20 * Launch the application.
22 public static void main(String
[] args
) {
23 EventQueue
.invokeLater(new Runnable() {
26 MainWindow window
= new MainWindow();
27 window
.frame
.setVisible(true);
28 } catch (Exception e
) {
36 * Create the application.
43 * Initialize the contents of the frame.
45 private void initialize() {
47 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
49 frame
.setBounds(0, 0, 800, 600);
51 JMenuBar topMenuBar
= new JMenuBar();
52 frame
.setJMenuBar(topMenuBar
);
54 JMenu menuFile
= new JMenu("File");
55 topMenuBar
.add(menuFile
);
57 JMenu newPuzzleMenu
= new JMenu("New puzzle");
58 menuFile
.add(newPuzzleMenu
);
60 JMenuItem flippingPuzzle
= new JMenuItem("Flipping Puzzle");
61 flippingPuzzle
.addMouseListener(new MouseAdapter() {
63 public void mouseReleased(MouseEvent e
) {
64 System
.out
.println("Hellow world!");
67 newPuzzleMenu
.add(flippingPuzzle
);
69 JMenuItem slidingPuzzle
= new JMenuItem("Sliding Puzzle");
70 newPuzzleMenu
.add(slidingPuzzle
);
72 JMenu helpMenu
= new JMenu("Help");
73 topMenuBar
.add(helpMenu
);
75 JMenuItem aboutMenu
= new JMenuItem("About me");
76 aboutMenu
.addMouseListener(new MouseAdapter() {
78 public void mouseReleased(MouseEvent e
) {
79 //JFrame aboutFrame = new AboutFrame();
80 //aboutFrame.setVisible(true);
81 JDialog aboutMeDialog
= new AboutMeDialog();
82 aboutMeDialog
.setAlwaysOnTop(true);
83 aboutMeDialog
.setModal(true);
84 aboutMeDialog
.setVisible(true);
87 helpMenu
.add(aboutMenu
);
89 JPanel mainPanel
= new JPanel();
90 frame
.getContentPane().add(mainPanel
, BorderLayout
.CENTER
);
92 JPanel puzzlePanel
= new JPanel();
93 mainPanel
.add(puzzlePanel
);