我有一個JDialog
,它取自用戶的名稱。在JDialog
後面是一個小程序。我不想讓用戶在輸入名稱前訪問該小程序。我試過JDialog.setAlwaysOnTop(true)
,但該小程序會拋出一個AccessException
錯誤。所以我做了一個while循環,它將執行JDialog.setVisible(true)
直到JtextField
(用戶名輸入)爲空(「」)。但由於某種原因,這種方法非常緩慢,這意味着JDialog
加載,但需要時間專注於JTextField
,甚至當用戶輸入他的名字時,它會非常緩慢......就像2秒內的一個字符......是任何其他方式讓我強制用戶在訪問小程序之前輸入名稱?如何確保JDialog始終保持最佳狀態
回答
用一個模式的JDialog性能要好得多。例如,在你的初始化代碼(...)JApplet的方法可能包括:
JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
dialog.setModal(true);
dialog.setSize(...);
dialog.setVisible(true);
或者你也可以只使用一個JOptionPane.showInputDialog()。再次,您只需將「this」指定爲選項窗格的父組件即可。
它的運行速度慢,因爲該程序正在處理FOO環
你可以做的是增加一個窗口監聽器,然後JDialog的失去了它的焦點(或小應用程序獲得的話)的焦點返回到的JDialog。
這應該比for循環您現在正在使用
如果ModalityTypes適用於小程序,我會建議。不過,我沒有時間去了解。 – 2010-04-13 18:27:17
我在JDialog中添加了一個FocusListener,併爲其中的focusLost()函數編寫了正文。但是,它似乎沒有工作。如果用戶點擊JDialog,它不會再次顯示。我認爲在JDialog之外單擊並不會導致JDialog失去焦點,它只會隱藏起來。 – mithun1538 2010-04-13 18:31:33
mmhhh,你可以發佈一些示例代碼? – OscarRyz 2010-04-13 19:34:28
另一種選擇是:
frame.setAlwaysOnTop(true);
它迫使其他任何頂部的對話框。
- 1. 如何使活動窗口始終保持最佳狀態
- 2. 始終保持最佳狀態的可點擊的表單
- 3. QWidget如何保持最佳狀態?
- 4. 配置保持活動狀態始終保持連接狀態
- 5. VLC ProcessStartInfo使VLC始終保持最佳狀態的參數頂部
- 6. 如何強制選擇jquery select始終保持打開狀態?
- 7. 導航活動如何始終保持打開狀態?
- 8. 如何確保我的服務始終處於運行狀態
- 9. 如何讓FindDialog保持最佳狀態(Delphi)?
- 10. 如何獲得完美的邊框並讓窗戶始終保持最佳狀態?
- 11. 如何在屏幕上繪製一個不佔用焦點並始終保持最佳狀態的通知(Windows)
- 12. 使JUnit測試保持最新狀態的最佳實踐
- 13. 保持代碼始終格式正確?
- 14. 任務是始終保持最新
- 15. 任務是始終保持最新
- 16. 如何使用Ansible確保服務器保持指定狀態?
- 17. 可以讓檔案作者始終保持開放狀態嗎?
- 18. Android MapView Overlay會始終保持OverlayItem的選中狀態?
- 19. 獲取活動始終保持其狀態
- 20. 保持Android菜單始終處於打開狀態:onOptionsMenu
- 21. 保持TortoiseSVN和NetBeans IDE始終處於同步狀態
- 22. 保存最終離線狀態
- 23. 如何保持gtk.window始終在頂層
- 24. 如何保持SqlConnection始終打開
- 25. 如何使SurfaceView始終保持水平?
- 26. 如何保持SplashImage始終開啓?
- 27. 保持Gridview狀態
- 28. 如何讓我的表單始終處於最佳狀態?
- 29. 確保彈出窗口UIViewController始終處於前景狀態
- 30. 確保異常始終處於執行狀態
就是我在找的東西。謝謝。 – mithun1538 2010-04-14 14:11:22
但是有一個問題。 ActionListeners不再響應。此外,用戶可以關閉對話框(對話框右上角有一個x)。用戶輸入名稱後是否需要恢復任何內容? – mithun1538 2010-04-14 14:16:58
如果您不希望用戶能夠關閉對話框,請使用:dialog.setDefaultCloseOperation(...); – camickr 2010-04-14 15:11:22