package org.artisanlogiciel.games.maze.gui; import org.artisanlogiciel.games.Display; import org.artisanlogiciel.games.MazeParams; import org.artisanlogiciel.games.MazeParamsFixed; import javax.swing.*; import java.util.Random; public class MazeSettings extends JPanel { MazeParams params; JTextField textWidth = null; JTextField textHeight = null; JTextField textDepth = null; JTextField textSeed = null; // TODO set width and height and depth of maze with gui public MazeSettings(MazeParams params) { super(); this.params = params; createSettingsGui(); } void createSettingsGui() { if (params != null) { JLabel widthLabel = new JLabel(Display.labels.getString("width")); textWidth = new JTextField("0" + params.getWidth()); add(widthLabel); add(textWidth); JLabel heightLabel = new JLabel(Display.labels.getString("height")); textHeight = new JTextField("0" + params.getHeight()); add(heightLabel); add(textHeight); JLabel depthLabel = new JLabel(Display.labels.getString("depth")); textDepth = new JTextField("0" + params.getMaxDepth()); add(depthLabel); add(textDepth); JLabel seedLabel = new JLabel(Display.labels.getString("seed")); textSeed = new JTextField( "" + params.getSeed(),16); add(seedLabel); add(textSeed); } } public MazeParams resetParams() { params = new MazeParamsFixed(params.getSaveDir(), Integer.parseInt(textWidth.getText()), Integer.parseInt(textHeight.getText()), Integer.parseInt(textDepth.getText()), new Random().nextLong() ); textSeed.setText("" + params.getSeed()); return params; } }