我想讓用戶等待一定的時間(10秒)。我知道在JSP或servlet中我們使用META標籤<META HTTP-EQUIV="Refresh" CONTENT="3">
。 Swing中有什麼方法可以讓用戶等待一段時間。我正在使用Swing;我想讓用戶等待一段時間,並且我想顯示一些將從數據庫中獲取的信息。是否可以通過Swing?讓用戶等待使用Swing
3
A
回答
5
您可以使用javax.swing.Timer
。例如:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
public class SimpleTimer extends JFrame implements ActionListener
{
private JLabel label;
private Timer timer;
private int counter = 10; // the duration
private int delay = 1000; // every 1 second
private static final long serialVersionUID = 1L;
public SimpleTimer()
{
super("Simple Timer");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 65);
label = new JLabel("Wait for " + counter + " sec");
getContentPane().add(label);
timer = new Timer(delay, this);
timer.setInitialDelay(0);
timer.start();
setVisible(true);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new SimpleTimer();
}
});
}
@Override
public void actionPerformed(ActionEvent e)
{
if(counter == 0)
{
timer.stop();
label.setText("The time is up!");
}
else
{
label.setText("Wait for " + counter + " sec");
counter--;
}
}
}
1
2
我覺得JProgressBar是你所需要的..
3
此前的WebSockets,HTTP服務器無法發送HTTP客戶端 '事件';!交互基本上是請求響應。許多應用程序使用(客戶端)輪詢方法解決此問題。刷新元標記是實現輪詢的一種方式。
搖擺是非常不同的 - 你有充分的事件的力量。所以讓用戶等待預定時間的想法通常是不正確的交互。 (某些類型的遊戲/測驗/動畫是一些例外情況,其中簡單的等待很有意義。)
您應該設計一個功能強大且響應快速的Swing GUI,而不會計算/接收結果。一旦結果可用,更新模型,然後觸發事件通知模型已更改。
該模型本身可以做後臺計算,輪詢等必要的;該代碼不是特定的。如果你想在這方面提供幫助,可以考慮在Stack Overflow上單獨查詢/詢問。
最後,請記住,在擺動線程上睡覺會使UI無響應。並且在相關說明中,您的模型觸發的任何事件應排隊到Swing事件線程上。請參閱SwingUtilities.invokeLater(...)關於如何完成。
+0
不錯的總結:-) – kleopatra 2012-03-12 10:05:16
相關問題
- 1. Scala Swing等待
- 2. 如何讓GUI等待用戶輸入?
- 3. 讓jQuery等待
- 4. 如何讓用戶事件等待java應用程序
- 5. 讓wcf客戶端等待回調
- 6. android - 等待用戶輸入
- 7. Wp7:等待用戶交互
- 8. 等待用戶權限
- 9. jquery - 等待用戶輸入
- 10. WPF等待用戶輸入
- 11. 使pytest等待用戶輸入
- 12. 讓線程等待
- 13. 讓FEST等待應用程序加載
- 14. 如何讓android應用程序等待?
- 15. 如何讓我的nextLine()等待用戶的輸入?
- 16. 讓控制檯等待用戶輸入關閉
- 17. 如何等待20秒讓用戶按任意鍵?
- 18. 如何讓Swing爲JLabel/JButton等使用我自己的HTMLEditorKit
- 19. Java swing工作線程等待EDT
- 20. 使用Linux系統調用等待的進程等待
- 21. 讓主線等待事件
- 22. 讓JSF等待數據庫
- 23. 如何讓WebBrowser等待Javascript?
- 24. 如何讓JS等待...?
- 25. 如何讓java等待
- 26. Javascript - 試圖讓它等待
- 27. 使用UIAlertView中等待
- 28. 使用while循環等待?
- 29. 使用異步/等待$ .ajax
- 30. 使用stdin等待EOF
是否想要在某段時間重新填充某個控件,或者是否要重新加載整個表單?任何方式使用線程你可以使內容加載10秒後 – 2012-03-12 05:42:56