commit
This commit is contained in:
parent
b05b7cd13c
commit
29ce62150e
10 changed files with 153 additions and 37 deletions
|
@ -1,9 +1,5 @@
|
|||
package userInterface;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Color;
|
||||
import java.awt.GridBagConstraints;
|
||||
|
@ -20,35 +16,59 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.File;
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import universe.*;
|
||||
|
||||
public class Window extends JFrame {
|
||||
|
||||
JPanel panel;
|
||||
JMenuBar menuBar;
|
||||
Grid grid;
|
||||
private JPanel panel;
|
||||
private JMenuBar menuBar;
|
||||
private Grid grid;
|
||||
private Universe universe;
|
||||
|
||||
public Window() {
|
||||
public Window(Universe universe) {
|
||||
super("Laser Finder");
|
||||
|
||||
this.universe = universe;
|
||||
|
||||
panel = new JPanel();
|
||||
panel.setPreferredSize(new Dimension(1000,800));
|
||||
panel.setBackground(Color.decode("#EBEBD3"));
|
||||
|
||||
|
||||
menuBar = new JMenuBar();
|
||||
|
||||
JMenu fichierMenu = new JMenu("Fichier");
|
||||
JMenu aideMenu = new JMenu("Aide");
|
||||
JMenu fichierMenu = new JMenu("File");
|
||||
JMenu aideMenu = new JMenu("Help");
|
||||
JMenu toolsMenu = new JMenu("Tools");
|
||||
|
||||
URL newUrl = getClass().getResource("../images/new.png");
|
||||
URL openUrl = getClass().getResource("../images/open.png");
|
||||
URL saveUrl = getClass().getResource("../images/save.png");
|
||||
|
||||
ImageIcon nouveauIcon = new ImageIcon("h:\\Mes documents\\INF1404\\projet\\picture\\nouveau.png");
|
||||
ImageIcon openIcon = new ImageIcon("h:\\Mes documents\\INF1404\\projet\\picture\\ouvrir.png");
|
||||
ImageIcon saveIcon = new ImageIcon("h:\\Mes documents\\INF1404\\projet\\picture\\sauvegarder.png");
|
||||
ImageIcon nouveauIcon = new ImageIcon(newUrl.getPath());
|
||||
ImageIcon openIcon = new ImageIcon(openUrl.getPath());
|
||||
ImageIcon saveIcon = new ImageIcon(saveUrl.getPath());
|
||||
|
||||
JMenuItem nouveauItem = new JMenuItem("Nouveau", nouveauIcon);
|
||||
JMenuItem ouvrirItem = new JMenuItem("Ouvrir", openIcon);
|
||||
JMenuItem enregistrerItem = new JMenuItem("Enregistrer", saveIcon);
|
||||
|
||||
JMenuItem apropos = new JMenuItem("à propos");
|
||||
JMenuItem regles = new JMenuItem("règles");
|
||||
JMenuItem apropos = new JMenuItem("About");
|
||||
JMenuItem regles = new JMenuItem("Rules");
|
||||
|
||||
JRadioButtonMenuItem radioWall = new JRadioButtonMenuItem("Wall");
|
||||
JRadioButtonMenuItem radioStart = new JRadioButtonMenuItem("Start");
|
||||
|
||||
radioWall.setSelected(true);
|
||||
|
||||
ButtonGroup buttonGroup = new ButtonGroup();
|
||||
|
||||
buttonGroup.add(radioWall);
|
||||
buttonGroup.add(radioStart);
|
||||
|
||||
JMenuItem changeSize = new JMenuItem("Change Size");
|
||||
JMenuItem solve = new JMenuItem("Solve");
|
||||
|
||||
fichierMenu.add(nouveauItem);
|
||||
fichierMenu.add(ouvrirItem);
|
||||
|
@ -57,16 +77,32 @@ public class Window extends JFrame {
|
|||
aideMenu.add(apropos);
|
||||
aideMenu.add(regles);
|
||||
|
||||
toolsMenu.add(radioWall);
|
||||
toolsMenu.add(radioStart);
|
||||
toolsMenu.addSeparator();
|
||||
toolsMenu.add(changeSize);
|
||||
toolsMenu.addSeparator();
|
||||
toolsMenu.add(solve);
|
||||
|
||||
menuBar.add(fichierMenu);
|
||||
menuBar.add(aideMenu);
|
||||
menuBar.add(toolsMenu);
|
||||
|
||||
|
||||
regles.addActionListener(e -> {
|
||||
JOptionPane.showMessageDialog(this, "Définissez la taille du plateau ainsi que l'orientation du laser, enfin ajoutez des obstacles et laissez le programme trouver le bon chemin !");
|
||||
});
|
||||
|
||||
changeSize.addActionListener(e -> {
|
||||
int width = Integer.valueOf(JOptionPane.showInputDialog("Choose the width"));
|
||||
int height = Integer.valueOf(JOptionPane.showInputDialog("Choose the height"));
|
||||
|
||||
this.grid.changeDim(width, height);
|
||||
this.grid.repaint();
|
||||
});
|
||||
|
||||
grid = new Grid(5, 5);
|
||||
panel.add(grid, BorderLayout.CENTER);
|
||||
this.grid = new Grid(this.universe.getHeight() - 2, this.universe.getWidth() - 2);
|
||||
this.panel.add(grid, BorderLayout.CENTER);
|
||||
|
||||
super.setJMenuBar(menuBar);
|
||||
super.setContentPane(this.panel);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue