hallo,
ich weiss nicht wie ich das hinbekomme das mein level, wenn ich den button (levelhoch) drücke so bleibt und nicht wieder bei eins anfängt, wenn der timer weiter läuft.
ich weiss das der startactionlistner ja immer mit eins beginnt, weil er ja die instanzvaribale (int levelnumer = 1) ist.
aber ich möchte zb. das das level bei 3 beginnt.
der timer restart funktioniert auch nicht.

ich weiss nicht wie ich das hinbekomme das mein level, wenn ich den button (levelhoch) drücke so bleibt und nicht wieder bei eins anfängt, wenn der timer weiter läuft.
ich weiss das der startactionlistner ja immer mit eins beginnt, weil er ja die instanzvaribale (int levelnumer = 1) ist.
aber ich möchte zb. das das level bei 3 beginnt.
der timer restart funktioniert auch nicht.

Java:
package de.test4.java;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;
public class Main extends JFrame{
public final static int SHOW_TIME_PER_SLIDE = 1000;
Timer timer = new Timer(SHOW_TIME_PER_SLIDE, new StartHaendler());
JLabel bild1;
Icon timerEinerstelle;
JLabel bild2;
Icon timerZehnerstelle;
JLabel bild3;
Icon level;
JButton play;
JButton levelHoch;
JButton levelRunter;
public Main(){
Icon a = new ImageIcon(getClass().getResource("button/button play blau.jpg"));
Icon b = new ImageIcon(getClass().getResource("button/button play orange.jpg"));
play = new JButton("", a);
play.setRolloverIcon(b);
play.setBounds(470, 250, 75, 84);
play.setBorder(null);
play.addActionListener(new StartHaendler());
add(play);
Icon c = new ImageIcon(getClass().getResource("button/button level hoch.jpg"));
levelHoch = new JButton(c);
levelHoch.setBounds(600, 250, 92, 86);
levelHoch.setBorder(null);
levelHoch.addActionListener(new LevelHaendler());
add(levelHoch);
Icon d = new ImageIcon(getClass().getResource("button/button level runter.jpg"));
levelRunter = new JButton(d);
levelRunter.setBounds(320, 250, 92, 86);
levelRunter.setBorder(null);
// levelRunter.addActionListener(new LevelHaendler());
add(levelRunter);
level = new ImageIcon(getClass().getResource("level/level1.jpg"));
bild3 = new JLabel(level);
bild3.setBounds(440, 10, 124, 220);
add(bild3);
timerEinerstelle = new ImageIcon(getClass().getResource("timer/timer0.jpg"));
bild1 = new JLabel(timerEinerstelle);
bild1.setBounds(520, 340, 225, 400);
add(bild1);
timerZehnerstelle = new ImageIcon(getClass().getResource("timer/timer2.jpg"));
bild2 = new JLabel(timerZehnerstelle);
bild2.setBounds(270, 340, 225, 400);
add(bild2);
}
class StartHaendler implements ActionListener{
int sekundeEinerstelle = 0;
int sekundeZehnerstelle = 2;
int levelNumer = 1;
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()== play){
timer.start();
}
sekundeEinerstelle = sekundeEinerstelle -1;
if(sekundeEinerstelle == -1){
sekundeEinerstelle = 9;
sekundeZehnerstelle = sekundeZehnerstelle -1;
}
if(sekundeZehnerstelle == -1 ){
sekundeZehnerstelle = 1;
levelNumer = levelNumer +1;
}
timerEinerstelle = new ImageIcon(getClass().getResource("timer/timer" + sekundeEinerstelle + ".jpg"));
bild1.setIcon(timerEinerstelle);
timerZehnerstelle = new ImageIcon(getClass().getResource("timer/timer" + sekundeZehnerstelle + ".jpg"));
bild2.setIcon(timerZehnerstelle);
level = new ImageIcon(getClass().getResource("level/level" + levelNumer +".jpg"));
bild3.setIcon(level);
}
}
class LevelHaendler implements ActionListener{
int levelNumer = 0;
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()== levelHoch){
levelNumer = levelNumer +1;
}
level = new ImageIcon(getClass().getResource("level/level" + levelNumer +".jpg"));
bild3.setIcon(level);
timer.restart();
}
}
public static void main(String[] args) {
Main jf = new Main();
jf.setTitle("Test4");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(1000, 800);
jf.getContentPane().setLayout(null);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
jf.getContentPane().setBackground(new Color(0, 0, 0));
}
}
Anhänge
Zuletzt bearbeitet von einem Moderator: