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.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Scanner;
|
||||
|
||||
import javax.swing.JButton;
|
||||
|
@ -26,7 +27,7 @@ public class UI implements ActionListener, ChangeListener{
|
|||
JPanel root = new JPanel();
|
||||
JPanel top = new JPanel();
|
||||
JPanel bottom = new JPanel();
|
||||
JPanel slider = new JPanel();
|
||||
//JPanel slider = new JPanel();
|
||||
|
||||
JMenuBar menubar = new JMenuBar();
|
||||
JMenu file_ = new JMenu("File");
|
||||
|
@ -53,8 +54,13 @@ public class UI implements ActionListener, ChangeListener{
|
|||
|
||||
JLabel info = new JLabel("Define positions, to start.");
|
||||
|
||||
JSlider truppenwait = new JSlider(JSlider.HORIZONTAL, 1, 300, 180);
|
||||
JLabel wait = new JLabel("Waittime between playouts: 18.0");
|
||||
//JSlider truppenwait = new JSlider(JSlider.HORIZONTAL, 1, 300, 180);
|
||||
//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();
|
||||
|
||||
|
@ -64,7 +70,7 @@ public class UI implements ActionListener, ChangeListener{
|
|||
Main.get().ui = this;
|
||||
//init screen
|
||||
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||
frame.setSize(620, 140);
|
||||
frame.setSize(620, 180);
|
||||
|
||||
save.setText("Save");
|
||||
save.addActionListener(this);
|
||||
|
@ -79,18 +85,18 @@ public class UI implements ActionListener, ChangeListener{
|
|||
skip.setEnabled(false);
|
||||
start.setEnabled(false);
|
||||
|
||||
doubleplace.setSelected(false);
|
||||
doubleplace.setSelected(true);
|
||||
doubleplace.setEnabled(false);
|
||||
|
||||
truppenwait.setEnabled(false);
|
||||
// slider[0].setEnabled(false);
|
||||
|
||||
skip.addActionListener(this);
|
||||
start.addActionListener(this);
|
||||
exit.addActionListener(this);
|
||||
autoplay.addActionListener(this);
|
||||
doubleplace.addActionListener(this);
|
||||
truppenwait.addChangeListener(this);
|
||||
|
||||
//truppenwait.addChangeListener(this);
|
||||
|
||||
for(PosSelector poss : posselctors) {
|
||||
top.add(poss.button);
|
||||
}
|
||||
|
@ -102,13 +108,17 @@ public class UI implements ActionListener, ChangeListener{
|
|||
bottom.add(doubleplace);
|
||||
bottom.add(info);
|
||||
|
||||
slider.add(truppenwait);
|
||||
slider.add(wait);
|
||||
//slider.add(truppenwait);
|
||||
//slider.add(wait);
|
||||
|
||||
|
||||
root.add(top);
|
||||
root.add(bottom);
|
||||
root.add(slider);
|
||||
|
||||
// root.add(slider);
|
||||
for(Slider s : slider) {
|
||||
root.add(s);
|
||||
}
|
||||
|
||||
frame.add(root);
|
||||
|
||||
frame.setVisible(true);
|
||||
|
@ -159,18 +169,18 @@ public class UI implements ActionListener, ChangeListener{
|
|||
if(srcb.equals(autoplay)) {
|
||||
bot.setAutoPlay(srcb.isSelected());
|
||||
if(srcb.isSelected()) {
|
||||
truppenwait.setEnabled(true);
|
||||
slider[0].setEnabled(true);
|
||||
doubleplace.setEnabled(true);
|
||||
} else {
|
||||
truppenwait.setEnabled(false);
|
||||
slider[0].setEnabled(false);
|
||||
doubleplace.setEnabled(false);
|
||||
}
|
||||
} else if(srcb.equals(doubleplace)) {
|
||||
bot.setDoublePlay(srcb.isSelected());
|
||||
if(srcb.isSelected()) {//*2
|
||||
truppenwait.setValue(truppenwait.getValue()*2);
|
||||
slider[0].setValue(slider[0].getValue()*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();
|
||||
if(o instanceof JSlider) {
|
||||
JSlider slider = (JSlider) o;
|
||||
if(slider.equals(truppenwait)) {
|
||||
if(slider.equals(this.slider[0])) {
|
||||
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 == 101) {//truppenwait
|
||||
int wait = Integer.parseInt(split[1]);
|
||||
truppenwait.setValue(wait);
|
||||
slider[0].setValue(wait);
|
||||
} else if(num == 102) { // double playout
|
||||
boolean dp = Boolean.parseBoolean(split[1]);
|
||||
if(dp) {
|
||||
autoplay.setSelected(true);
|
||||
doubleplace.setEnabled(true);
|
||||
truppenwait.setEnabled(true);
|
||||
slider[0].setEnabled(true);
|
||||
}
|
||||
doubleplace.setSelected(dp);
|
||||
}
|
||||
|
@ -233,7 +242,7 @@ public class UI implements ActionListener, ChangeListener{
|
|||
file.createNewFile();
|
||||
|
||||
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.close();
|
||||
|
||||
|
@ -259,4 +268,66 @@ public class UI implements ActionListener, ChangeListener{
|
|||
public void info(String 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