ステップボタンをクリックするたびに1つ追加するプログラムをここに書き込もうとしました。私が抱えている問題は、ステップをクリックするたびに数字が増分していないことです。私はactionListenerブロックに何かを入れなければならないと思いますが、私は何がわかりません。助けてください... もしあなたが何かが明確でないと思うなら、私はそれを本当に速くクリアーします!オドメーターを作成する
パネル
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");
}
}
}
}
ドライバー
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);
}
}
`
ありがとうございました! –