Commit 1f238277 authored by erreiip's avatar erreiip
Browse files

MainFrame into singleton

parent 8c080bfc
Loading
Loading
Loading
Loading
+1 −1
Changes for jeuAssemblage/src/main/Controller.java: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ public class Controller {
        if (instance == null) {
            instance = new Controller();
			instance.model = new PlayBoard();
			instance.view = new MainFrame();
			instance.view = MainFrame.getInstance();
			instance.eventManager = new EventManager();
        }

+12 −5
Changes for jeuAssemblage/src/view/MainFrame.java: 12 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -13,19 +13,26 @@ import view.screen.MainScreen;

public class MainFrame extends JFrame {

	public MainFrame() {
	private static MainFrame instance;

		FlatDarkLaf.setup();
	public static MainFrame getInstance() {
		if ( instance != null ) return instance;
		
		instance = new MainFrame();
		MainScreen mainScreen = new MainScreen();
		instance.setContentPane(mainScreen);
		return instance;
	}

		MainScreen mainScreen = new MainScreen(this);
		this.setContentPane(mainScreen);
	private MainFrame() {

		FlatDarkLaf.setup();

		this.setFrameIcon();

		this.setSize(1200, 800);
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}
	
	private void setFrameIcon() {
+3 −3
Changes for jeuAssemblage/src/view/screen/MainScreen.java: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -15,9 +15,9 @@ public class MainScreen extends JPanel {
    
    private final MainFrame mainFrame;

    public MainScreen(MainFrame mainFrame) {
    public MainScreen() {

        this.mainFrame = mainFrame;
        this.mainFrame = MainFrame.getInstance();

        JButton btnSolo    = new JButton("SOLO");
        JButton btnMulti   = new JButton("MULTIJOUEUR");
@@ -51,7 +51,7 @@ public class MainScreen extends JPanel {

        btnSolo.addActionListener(e -> {

            MainScreen.this.mainFrame.setContentPane(new SoloGameCreation(MainScreen.this.mainFrame));
            MainScreen.this.mainFrame.setContentPane(new SoloGameCreation());
        });
    }
}
+3 −24
Changes for jeuAssemblage/src/view/screen/SoloGameCreation.java: 3 added lines, 24 removed lines.
Original line number Diff line number Diff line
@@ -2,13 +2,6 @@ package view.screen;

import static view.utils.SwingUtils.*;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
@@ -16,17 +9,12 @@ import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import main.Controller;
import main.Difficulty;
import view.MainFrame;
import view.component.Separator;
import view.listener.ResizeListener;
import view.utils.DocumentAdapter;
import view.utils.SwingUtils;

public class SoloGameCreation extends JPanel {
    
@@ -54,9 +42,8 @@ public class SoloGameCreation extends JPanel {
    private final JButton btnPlay = new JButton("Jouer");
    
    private final Controller controller = Controller.getInstance();
    private SoloGameScreen soloGameScreen;

    public SoloGameCreation(MainFrame mainFrame) {
    public SoloGameCreation() {

        this.setLayout(null);

@@ -89,7 +76,7 @@ public class SoloGameCreation extends JPanel {
		// ResizeListener resizeListener = new ResizeListener(createResizeCallback(this));
        // this.addComponentListener(resizeListener);

        btnCancel.addActionListener(e -> mainFrame.setContentPane(new MainScreen(mainFrame)));
        btnCancel.addActionListener(e -> MainFrame.getInstance().setContentPane(new MainScreen()));

        final Runnable randomSeedCallback = createRandomSeedCallback(this);
        btnRandomSeed.addActionListener(e -> randomSeedCallback.run());
@@ -106,7 +93,7 @@ public class SoloGameCreation extends JPanel {
		btnPlay.addActionListener(e -> {

			if (initPlayBoard()) {
				mainFrame.setContentPane(new SoloGameScreen());
				MainFrame.getInstance().setContentPane(new SoloGameScreen());
			} else {
				System.out.println("Impossible mon ga");
			}
@@ -256,14 +243,6 @@ public class SoloGameCreation extends JPanel {
        nbPiecesSpinner.setValue(Controller.getInstance().getPiecesCountBySeed(seed, difficulty));
    }

    private static Runnable createResizeCallback(SoloGameCreation soloGameCreation) {

        return () -> {

            
        };
    }

    private static long generateRandomSeed() {

        return (long) (Math.random() * Long.MAX_VALUE);
+6 −0
Changes for jeuAssemblage/src/view/screen/SoloGameFinishScreen.java: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,12 @@ import javax.swing.JPanel;

public class SoloGameFinishScreen extends JPanel {

    public SoloGameFinishScreen() {
        setLayout(null);

        

		super.doLayout();
    }
    
}