Move (most) hardcoded defaults to MazeDefault

- harcoded values centralized
- IntegerField for JTextField containing numbers
- fix, can draw even if topleft position is not (0,0) ( ie if scrollbar were used )
This commit is contained in:
philippe lhardy
2020-12-15 22:26:57 +01:00
parent 14b6d9ff1d
commit b8cb7394cd
8 changed files with 274 additions and 110 deletions

View File

@@ -1,20 +1,22 @@
package org.artisanlogiciel.games.maze.gui;
import org.artisanlogiciel.games.maze.gui.component.IntegerField;
import org.artisanlogiciel.games.maze.gui.component.Panel;
import org.artisanlogiciel.games.stl.Maze3dParams;
import javax.swing.*;
public class Maze3dSettings
extends JPanel
extends Panel
{
// grid size
JTextField xl;
JTextField yl;
JTextField zl;
IntegerField xl;
IntegerField yl;
IntegerField zl;
JTextField w;
JTextField lg;
JTextField hg;
IntegerField w;
IntegerField lg;
IntegerField hg;
JCheckBox reverse;
@@ -28,42 +30,39 @@ public class Maze3dSettings
void createSettingsGui() {
if (params != null) {
JLabel widthLabel = new JLabel(Display.labels.getString("width"));
xl = new JTextField("0" + params.getXl());
add(widthLabel);
add(xl);
JLabel heightLabel = new JLabel(Display.labels.getString("height"));
zl = new JTextField("0" + params.getZl());
add(heightLabel);
add(zl);
JLabel depthLabel = new JLabel(Display.labels.getString("depth"));
yl = new JTextField("0" + params.getYl());
add(depthLabel);
add(yl);
IntegerField xl = new IntegerField("width",params.getXl());
addField(xl);
IntegerField zl = new IntegerField("height",params.getZl());
addField(zl);
IntegerField yl = new IntegerField("depth",params.getYl());
addField(yl);
reverse = new JCheckBox("reverse",params.isReverse());
add(reverse);
w = new JTextField("0" + params.getW());
add(w);
w = new IntegerField(params.getW());
addField(w);
// lowground hightground
lg = new JTextField("0" + params.getLg());
add(lg);
hg = new JTextField("0" + params.getHg());
add(hg);
lg = new IntegerField(params.getLg());
addField(lg);
hg = new IntegerField(params.getHg());
addField(hg);
}
}
Maze3dParams createParams()
{
return new Maze3dParams(
Integer.parseInt(xl.getText()),
Integer.parseInt(yl.getText()),
Integer.parseInt(zl.getText()),
Integer.parseInt(w.getText()),
Integer.parseInt(lg.getText()),
Integer.parseInt(hg.getText()),
xl.getValue(),
yl.getValue(),
zl.getValue(),
w.getValue(),
lg.getValue(),
hg.getValue(),
reverse.isSelected());
}