Ich habe versucht, hier ein Programm zu schreiben, das jedes Mal, wenn Sie auf die Schaltfläche "Schritt" klicken, einen Eintrag hinzufügt. Das Problem, das ich habe, ist, dass jedes Mal, wenn ich auf "Step" klicke, die Ziffer überhaupt nicht erhöht wird. Ich denke ich sollte etwas in den actionListener Block schreiben, aber ich weiß nicht was. Bitte helfen Sie mir ... Wenn Sie denken, dass etwas nicht klar ist, werde ich es sehr schnell aufräumen!Erstellen eines Kilometerzählers
-Panel
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Odometer extends JPanel{
private JLabel label, label2, label3;
private int counter;
public Odometer()
{
setLayout(new FlowLayout());
JButton button = new JButton("Step");
button.addActionListener(new Listener());
add(button);
this.setBackground(Color.black);
label = new JLabel("0");
label.setFont(new Font("serif", Font.BOLD, 50));
label.setForeground(Color.white);
label.setBackground(Color.black);
label.setOpaque(true);
add(label);
label2 = new JLabel("0");
label2.setFont(new Font("serif", Font.BOLD, 50));
label2.setForeground(Color.white);
label2.setBackground(Color.black);
label2.setOpaque(true);
add(label2);
label3 = new JLabel("0");
label3.setFont(new Font("serif", Font.BOLD, 50));
label3.setBackground(Color.white);
label3.setForeground(Color.black);
label3.setOpaque(true);
add(label3);
int counter = 0;
}
private class Listener implements ActionListener{
public void actionPerformed(ActionEvent e){
}
}
public void update()
{
counter = Integer.parseInt(label3.getText());
if(counter < 9){
counter++;
label3.setText(" " + counter);
}
else{
counter = 0;
label3.setText(" " + counter);
counter = Integer.parseInt(label2.getText());
if(counter < 9){
counter++;
label2.setText(" " + counter);
}
else{
counter = 0;
label2.setText(" " + counter);
counter = Integer.parseInt(label.getText());
}
if(counter<9){
counter++;
label.setText(" " + counter);
}
else{
counter = 0;
label.setText("0");
}
}
}
}
Treiber
import javax.swing.JFrame;
public class Driver04
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Odometer");
frame.setSize(400, 400);
frame.setLocation(200, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new Odometer());
frame.setVisible(true);
}
}
`
vielen dank! –