This commit is contained in:
Ninja-Jambon 2024-03-27 11:54:38 +01:00
parent b05b7cd13c
commit 29ce62150e
10 changed files with 153 additions and 37 deletions

View file

@ -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);