Ok, vì vậy tôi đã thực hiện một chương trình đơn giản cho biết thêm giá trị để truy cập mỗi khi nút được nhấp. Bây giờ, tôi muốn thêm tính năng nút "Tự động" để tăng giá trị của bộ đếm khi nút "Tự động" được nhấp. Tôi đang gặp vấn đề với nó bởi vì nó sẽ không làm cho mỗi giá trị truy cập trên màn hình, thay vì giá trị cập nhật khi vòng lặp được thực hiện .. Đây là mã của tôi:Nút ActionListener
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Gui extends JFrame{
private static final long serialVersionUID = 1L;
private JButton uselesButton;
private JButton autoButton;
private FlowLayout layout;
private long counter = 0;
public Gui() {
super("Button");
layout = new FlowLayout(FlowLayout.CENTER);
this.setLayout(layout);
uselesButton = new JButton(String.format("Pressed %d times", counter));
add(uselesButton);
uselesButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
counter++;
uselesButton.setText(String.format("Pressed %d times", counter));
}
});
autoButton = new JButton("Auto");
add(autoButton);
autoButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for(long i =0; i < 99999999;i++) {
try {
TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e1) {
System.out.println("ERROR");
}
counter = i;
uselesButton.setText(String.format("Pressed %d times", counter));
}
}
});
}
}
Hãy nhớ rằng tôi người mới bắt đầu ... Tất cả trợ giúp đều được đánh giá cao :)
câu hỏi là gì? – Sello
* Chính xác * nút tự động được cho là đang làm gì? –
Tôi nghĩ [Swing Timer] (http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html) sẽ giải quyết vấn đề này. – Azad