Abend zusammen,
ich versuche mit zwei JSlider in einer Klasse zu arbeiten, jedoch sollen diese unabhängig voneinander bedienbar sein.
Wie bekomme ich es hin, dass im ChangeEvent nur ein JSlider aufgerufen wird.
Beispielsweise möchte ich, dass der eine JSlider ein Dialogfeld öffnet wenn er nach rechts bedient wird, der andere wiederum, wenn er nach links geschoben wird.
Bis jetzt erscheint beim Bedienen der beiden Slidern nur eine Fehlermeldung.
Vielleicht kann mir jemand helfen
Bisher sieht das ganz so bei mir aus (Ausschnitt aus dem Programmcode):
ich versuche mit zwei JSlider in einer Klasse zu arbeiten, jedoch sollen diese unabhängig voneinander bedienbar sein.
Wie bekomme ich es hin, dass im ChangeEvent nur ein JSlider aufgerufen wird.
Beispielsweise möchte ich, dass der eine JSlider ein Dialogfeld öffnet wenn er nach rechts bedient wird, der andere wiederum, wenn er nach links geschoben wird.
Bis jetzt erscheint beim Bedienen der beiden Slidern nur eine Fehlermeldung.
Vielleicht kann mir jemand helfen
Bisher sieht das ganz so bei mir aus (Ausschnitt aus dem Programmcode):
Code:
public class DontScrewUp implements ActionListener, ChangeListener {
JSlider js;
JSlider js1;
public static void main(String[] args) {
(new DontScrewUp()).go();
}
private void go() {
f=new JFrame();
f.setSize(1000,800);
f.setLayout(new BorderLayout());
f.setResizable(false);
f.setTitle("Don't Screw Up!");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pnlInhalt = new JPanel();
pnlInhalt.setLayout(null);
f.add(pnlInhalt, BorderLayout.CENTER);
zeigeAufgabe();
}
public void zeigeAufgabe(){
int e = (int)((Math.random()) * 7 + 1);
if(e == 5){
js=new JSlider();
js.setName("rechts");
js.setBounds(330, 450, 300, 100);
js.setPaintTicks(true);
js.setMajorTickSpacing(5);
js.setValue(5);
js.setMaximum(10);
js.setMinimum(0);
js.setPaintTicks(true);
js.addChangeListener(this);
js.setToolTipText("Schiebe mich!");
pnlInhalt.add(js);
}
if(e == 6){
js1=new JSlider();
js1.setName("links");
js1.setBounds(330, 450, 300, 100);
js1.setPaintTicks(true);
js1.setMajorTickSpacing(5);
js1.setValue(5);
js1.setMaximum(10);
js1.setMinimum(0);
js1.setPaintTicks(true);
js1.setToolTipText("Schiebe mich");
js1.addChangeListener(this);
pnlInhalt.add(js1);
}
f.setVisible(true);
}
public void stateChanged(ChangeEvent c) {
JSlider source = (JSlider) c.getSource();
String name = js.getName();
if (source.getValue()==10) {
if(name == "rechts"){
JOptionPane.showMessageDialog(pnlInhalt,"Game over!");
}
}
JSlider source1 = (JSlider) c.getSource();
String name = js1.getName();
if (source.getValue()==0) {
if(name == "links"){
JOptionPane.showMessageDialog(pnlInhalt,"Game over!");
}
}
}
}