0
A
回答
1
您可以使用Swing的定時器類和
doClick方法與AbstractButton。 這是一個完整的源代碼。
package stackoverflow;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
public class JButtonTimer extends JPanel {
private static final long serialVersionUID = 1L;
private static final int SCREEN_WIDTH = 500;
private static final int SCREEN_HEIGHT = 500;
public JButtonTimer() {
final JButton clickBtn = new JButton("clickMe");
clickBtn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println(e.getActionCommand());
}
});
add(clickBtn);
Timer timer = new Timer(1 * 1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
clickBtn.doClick();
}
});
timer.start();
}
public Dimension getPreferredSize() {
return new Dimension(SCREEN_WIDTH, SCREEN_HEIGHT);
}
public static void createAndShowGui() {
JFrame frame = new JFrame();
frame.add(new JButtonTimer());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
1
使用SwingTimer
,並呼籲doClick
按鈕
import javax.swing.JButton;
import javax.swing.Timer;
public class ButtonClicker implements ActionListener {
private JButton btn;
private Timer timer;
public ButtonClicker(JButton btn) {
this.btn = btn;
timer = new Timer(1000, this);
}
public void start() {
timer.start();
}
public void stop() {
timer.stop();
}
@Override
public void actionPerformed(ActionEvent e) {
btn.doClick();
}
}
更多細節
見 How to use Swing Timers
0
你可以把它變成的windowOpened幀事件
Timer t = new Timer(1000, jButton.doClick());
t.start();
+1
由於['JButton#doClick'](https://docs.oracle.com/javase/8/docs/api/javax/swing/AbstractButton.html#doClick--)返回'void',因此您的代碼示例不會編譯 - 因爲'void'不是'ActionListener'的實例 – MadProgrammer
相關問題
- 1. 右鍵點擊JButton
- 2. 更改顏色JButton當點擊並重置後沒有點擊
- 3. Java Swing:點擊時移動JButton
- 4. 搜索沒有啓動點擊JButton
- 5. 點擊顯示圖片JButton
- 6. 的JButton點擊一次
- 7. 點擊JButton顯示圖像
- 8. 新的FlowLayout點擊JButton的
- 9. 點擊JButton調用方法
- 10. Darken JButton(s)懸停/點擊
- 11. JButton - 沒有點擊Anmation
- 12. 點擊更改JButton ImageIcon
- 13. JButton Form Click請點擊
- 14. 點擊動畫重複使用視圖
- 15. 試圖使點擊動畫可重複
- 16. 動畫不重複上點擊圖像
- 17. 點擊按鈕重複動畫
- 18. UI修復和自動點擊
- 19. jQuery的動畫上點擊,停止對重複多次點擊
- 20. 如何重複一個簡單的jQuery動畫重複點擊
- 21. 重繪時JButton被複制?
- 22. jquery點擊事件重複
- 23. 對抗重複點擊
- 24. 按鈕點擊不重複?
- 25. 功能不重複點擊?
- 26. Javascript自動點擊?
- 27. 自動點擊WebView
- 28. 自動點擊childNode
- 29. 自動Android點擊/點擊跟蹤
- 30. 點擊自動啓動JNLP
爲什麼要這樣做?如果你想自動觸發某個動作,那麼*點擊*按鈕是錯誤的方法! – GhostCat
1)請參閱[什麼是XY問題?](http://meta.stackexchange.com/q/66377)按鈕的動作偵聽器可能更好地調用方法。然後使用Swing'Timer'來調用相同的方法。 2)*「我嘗試過編輯按鈕操作,但不起作用。」*爲什麼不呢?什麼,*特別*失敗? 3)爲了更快地獲得更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。 –