-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWindowManager.java
More file actions
53 lines (35 loc) · 1.42 KB
/
Copy pathWindowManager.java
File metadata and controls
53 lines (35 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.awt.BorderLayout;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import World.Simulation;
public class WindowManager{
private static JFrame frame;
public static JButton start = new JButton("Start");
public static JButton pause = new JButton("Pause");
public static void createWindow(Simulation simulation){
frame = new JFrame("Prey and Predator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(simulation, BorderLayout.CENTER);
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new BoxLayout(controlPanel, BoxLayout.X_AXIS));
start.setActionCommand("START");
pause.setActionCommand("PAUSE");
start.addActionListener(simulation);
pause.addActionListener(simulation);
controlPanel.add(start);
controlPanel.add(Box.createHorizontalStrut(10));
controlPanel.add(pause);
JPanel fitnessPanel = new JPanel();
fitnessPanel.add(Simulation.graph);
controlPanel.add(fitnessPanel, BorderLayout.EAST);
mainPanel.add(controlPanel, BorderLayout.SOUTH);
frame.setContentPane(mainPanel);
frame.pack();
frame.setVisible(true);
}
}