Added Radius of Placement Slider.
This commit is contained in:
parent
63f7b77c7c
commit
3fcbe5f998
|
@ -5,6 +5,7 @@ import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
@ -26,7 +27,7 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
JPanel root = new JPanel();
|
JPanel root = new JPanel();
|
||||||
JPanel top = new JPanel();
|
JPanel top = new JPanel();
|
||||||
JPanel bottom = new JPanel();
|
JPanel bottom = new JPanel();
|
||||||
JPanel slider = new JPanel();
|
//JPanel slider = new JPanel();
|
||||||
|
|
||||||
JMenuBar menubar = new JMenuBar();
|
JMenuBar menubar = new JMenuBar();
|
||||||
JMenu file_ = new JMenu("File");
|
JMenu file_ = new JMenu("File");
|
||||||
|
@ -53,8 +54,13 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
|
|
||||||
JLabel info = new JLabel("Define positions, to start.");
|
JLabel info = new JLabel("Define positions, to start.");
|
||||||
|
|
||||||
JSlider truppenwait = new JSlider(JSlider.HORIZONTAL, 1, 300, 180);
|
//JSlider truppenwait = new JSlider(JSlider.HORIZONTAL, 1, 300, 180);
|
||||||
JLabel wait = new JLabel("Waittime between playouts: 18.0");
|
//JLabel wait = new JLabel("Waittime between playouts: 18.0");
|
||||||
|
|
||||||
|
Slider[] slider = {
|
||||||
|
new Slider("Waittime: ","s", 1,300,180,-1, this, false),
|
||||||
|
new Slider("Radius of Placement: ","px",0,40,15,0,this,true)
|
||||||
|
};
|
||||||
|
|
||||||
Clicker bot = new Clicker();
|
Clicker bot = new Clicker();
|
||||||
|
|
||||||
|
@ -64,7 +70,7 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
Main.get().ui = this;
|
Main.get().ui = this;
|
||||||
//init screen
|
//init screen
|
||||||
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
frame.setSize(620, 140);
|
frame.setSize(620, 180);
|
||||||
|
|
||||||
save.setText("Save");
|
save.setText("Save");
|
||||||
save.addActionListener(this);
|
save.addActionListener(this);
|
||||||
|
@ -79,18 +85,18 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
skip.setEnabled(false);
|
skip.setEnabled(false);
|
||||||
start.setEnabled(false);
|
start.setEnabled(false);
|
||||||
|
|
||||||
doubleplace.setSelected(false);
|
doubleplace.setSelected(true);
|
||||||
doubleplace.setEnabled(false);
|
doubleplace.setEnabled(false);
|
||||||
|
|
||||||
truppenwait.setEnabled(false);
|
// slider[0].setEnabled(false);
|
||||||
|
|
||||||
skip.addActionListener(this);
|
skip.addActionListener(this);
|
||||||
start.addActionListener(this);
|
start.addActionListener(this);
|
||||||
exit.addActionListener(this);
|
exit.addActionListener(this);
|
||||||
autoplay.addActionListener(this);
|
autoplay.addActionListener(this);
|
||||||
doubleplace.addActionListener(this);
|
doubleplace.addActionListener(this);
|
||||||
truppenwait.addChangeListener(this);
|
//truppenwait.addChangeListener(this);
|
||||||
|
|
||||||
for(PosSelector poss : posselctors) {
|
for(PosSelector poss : posselctors) {
|
||||||
top.add(poss.button);
|
top.add(poss.button);
|
||||||
}
|
}
|
||||||
|
@ -102,13 +108,17 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
bottom.add(doubleplace);
|
bottom.add(doubleplace);
|
||||||
bottom.add(info);
|
bottom.add(info);
|
||||||
|
|
||||||
slider.add(truppenwait);
|
//slider.add(truppenwait);
|
||||||
slider.add(wait);
|
//slider.add(wait);
|
||||||
|
|
||||||
|
|
||||||
root.add(top);
|
root.add(top);
|
||||||
root.add(bottom);
|
root.add(bottom);
|
||||||
root.add(slider);
|
// root.add(slider);
|
||||||
|
for(Slider s : slider) {
|
||||||
|
root.add(s);
|
||||||
|
}
|
||||||
|
|
||||||
frame.add(root);
|
frame.add(root);
|
||||||
|
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
|
@ -159,18 +169,18 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
if(srcb.equals(autoplay)) {
|
if(srcb.equals(autoplay)) {
|
||||||
bot.setAutoPlay(srcb.isSelected());
|
bot.setAutoPlay(srcb.isSelected());
|
||||||
if(srcb.isSelected()) {
|
if(srcb.isSelected()) {
|
||||||
truppenwait.setEnabled(true);
|
slider[0].setEnabled(true);
|
||||||
doubleplace.setEnabled(true);
|
doubleplace.setEnabled(true);
|
||||||
} else {
|
} else {
|
||||||
truppenwait.setEnabled(false);
|
slider[0].setEnabled(false);
|
||||||
doubleplace.setEnabled(false);
|
doubleplace.setEnabled(false);
|
||||||
}
|
}
|
||||||
} else if(srcb.equals(doubleplace)) {
|
} else if(srcb.equals(doubleplace)) {
|
||||||
bot.setDoublePlay(srcb.isSelected());
|
bot.setDoublePlay(srcb.isSelected());
|
||||||
if(srcb.isSelected()) {//*2
|
if(srcb.isSelected()) {//*2
|
||||||
truppenwait.setValue(truppenwait.getValue()*2);
|
slider[0].setValue(slider[0].getValue()*2);
|
||||||
} else {// /2
|
} else {// /2
|
||||||
truppenwait.setValue(truppenwait.getValue()/2);
|
slider[0].setValue(slider[0].getValue()/2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,9 +191,8 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
Object o = e.getSource();
|
Object o = e.getSource();
|
||||||
if(o instanceof JSlider) {
|
if(o instanceof JSlider) {
|
||||||
JSlider slider = (JSlider) o;
|
JSlider slider = (JSlider) o;
|
||||||
if(slider.equals(truppenwait)) {
|
if(slider.equals(this.slider[0])) {
|
||||||
bot.setWait(slider.getValue());
|
bot.setWait(slider.getValue());
|
||||||
wait.setText("Waittime between playouts: "+(slider.getValue()/10f));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -199,13 +208,13 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
if(num > 100) {
|
if(num > 100) {
|
||||||
if(num == 101) {//truppenwait
|
if(num == 101) {//truppenwait
|
||||||
int wait = Integer.parseInt(split[1]);
|
int wait = Integer.parseInt(split[1]);
|
||||||
truppenwait.setValue(wait);
|
slider[0].setValue(wait);
|
||||||
} else if(num == 102) { // double playout
|
} else if(num == 102) { // double playout
|
||||||
boolean dp = Boolean.parseBoolean(split[1]);
|
boolean dp = Boolean.parseBoolean(split[1]);
|
||||||
if(dp) {
|
if(dp) {
|
||||||
autoplay.setSelected(true);
|
autoplay.setSelected(true);
|
||||||
doubleplace.setEnabled(true);
|
doubleplace.setEnabled(true);
|
||||||
truppenwait.setEnabled(true);
|
slider[0].setEnabled(true);
|
||||||
}
|
}
|
||||||
doubleplace.setSelected(dp);
|
doubleplace.setSelected(dp);
|
||||||
}
|
}
|
||||||
|
@ -233,7 +242,7 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
|
|
||||||
FileWriter fw = new FileWriter(file);
|
FileWriter fw = new FileWriter(file);
|
||||||
fw.write(bot.serialize()+"\n101 "+ truppenwait.getValue() + "\n102 " + doubleplace.isSelected());
|
fw.write(bot.serialize()+"\n101 "+ slider[0].getValue() + "\n102 " + doubleplace.isSelected());
|
||||||
fw.flush();
|
fw.flush();
|
||||||
fw.close();
|
fw.close();
|
||||||
|
|
||||||
|
@ -259,4 +268,66 @@ public class UI implements ActionListener, ChangeListener{
|
||||||
public void info(String a) {
|
public void info(String a) {
|
||||||
info.setText(a);
|
info.setText(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Slider extends JPanel implements ChangeListener{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
private JSlider slider;
|
||||||
|
private JLabel label;
|
||||||
|
|
||||||
|
private ChangeListener listener;
|
||||||
|
private String prefix = "", sufix = "";
|
||||||
|
private int offset;
|
||||||
|
/**
|
||||||
|
* @param prefix the text of the Label
|
||||||
|
* @param sufix thge text of the Label
|
||||||
|
* @param minvalue start vlaue
|
||||||
|
* @param maxvalue last value
|
||||||
|
* @param startvalue inital value
|
||||||
|
* @param komma 10^x offset for komma digits
|
||||||
|
*/
|
||||||
|
public Slider(String prefix, String sufix, int minvalue, int maxvalue, int startvalue, int komma, ChangeListener cl, boolean enabled) {
|
||||||
|
slider = new JSlider(minvalue, maxvalue, startvalue);
|
||||||
|
slider.addChangeListener(this);
|
||||||
|
if(prefix != null)
|
||||||
|
this.prefix = prefix;
|
||||||
|
if(sufix != null) {
|
||||||
|
this.sufix = sufix;
|
||||||
|
}
|
||||||
|
offset = komma;
|
||||||
|
label = new JLabel(getLabelText());
|
||||||
|
add(slider);
|
||||||
|
add(label);
|
||||||
|
listener = cl;
|
||||||
|
slider.setEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getValue() {
|
||||||
|
return slider.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(int val) {
|
||||||
|
slider.setValue(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getLabelText() {
|
||||||
|
if(offset >= 0)
|
||||||
|
return prefix + (slider.getValue() * (int) Math.pow(10, offset)) + sufix;
|
||||||
|
return prefix + (BigDecimal.valueOf(Math.pow(10, offset)).multiply(BigDecimal.valueOf(slider.getValue()))) + sufix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*public void setChangeListener(ChangeListener l) { //not required anymore
|
||||||
|
listener = l;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
slider.setEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stateChanged(ChangeEvent e) {
|
||||||
|
label.setText(getLabelText());//update info
|
||||||
|
listener.stateChanged(e);//forward Event
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue