Kullanıcıdan bir ad alan bir JDialog
sahibim. JDialog
'un ardında, bir uygulayıcıdır. Kullanıcının adı girene kadar o uygulamaya erişmesini istemiyorum. JDialog.setAlwaysOnTop(true)
'u denedim, ancak uygulama AccessException
hatası veriyor. Yani yaptığım şey, JtextField
(kullanıcı adı girişi) boş olana kadar ("") JDialog.setVisible(true)
'u çalıştıracak bir süre tutmaktı. Ama nedense bu gerçekten çalışıyor, yani JDialog
yükler, yani, JTextField
odaklanmak zaman alır ve kullanıcı adını yazdığında bile, gerçekten yavaş geliyor ... 2 saniye içinde bir karakter gibi ... Uygulamayı uygulamaya geçmeden önce kullanıcı adı girmeye zorlamak için başka bir yol var mı?JDialog'un her zaman en üstte kalmasını sağlayın
cevap
kullanın kalıcı bir JDialog kullandığınız çok daha iyi performans olmalıdır. Örneğin sizin init kodu (...) JApplet yöntemi şunları içerebilir:
JDialog dialog = new JDialog(SwingUtilities.windowForComponent(this));
dialog.setModal(true);
dialog.setSize(...);
dialog.setVisible(true);
Ya da sadece bir JOptionPane.showInputDialog kullanabilirsiniz(). Yine, seçenek panelinin ana bileşeni olarak "bunu" belirtirsiniz.
programı o foo döngü
Ne yapabilirsiniz bir pencere dinleyicisi eklemek ve daha sonra JDialog o odak var (veya uygulaması da kazanır) JDialog odağı dönmek kaybetti işliyor çünkü yavaş çalışıyor.
Bu
döngü şu andaModalityTypes, appletler için çalışıyorsa, bunun yerine öneririm. Yine de öğrenmek için zamanım yok. –
JDialog'a bir FocusListener ekledim ve gövdesini focusLost() işlevi için yazdım. Ancak, işe yaramıyor. Kullanıcı JDialog’u devre dışı bırakırsa, tekrar gösterilmez. JDialog'un dışına tıklamak JDialog'un odağı kaybetmesine neden olmadığını düşünüyorum, sadece gizleniyor. – mithun1538
mmhhh, bazı örnek kod gönderebilir misiniz? – OscarRyz
Başka bir seçenek olacaktır:
frame.setAlwaysOnTop(true);
Herhangi üst üste iletişim zorlar.
- 1. UITableView, altbilginin ekranın altında kalmasını sağlayın.
- 2. CSS menümün ekranın üstünde kalmasını sağlayın.
- 3. WPF her zaman üstte sadece ebeveyn için
- 4. Android eklendi AppBarLayout her zaman üstte geliyor
- 5. Silverlight (ve Flash) Uygulamalarının Tam Ekran Kalmasını Sağlayın
- 6. WPF: Sistem menüsüne "Her Zaman Üstte" menü öğesini ekleyin
- 7. Windows 7 Flip 3D etkin olsa bile bir form her zaman en üstte nasıl oluşturulur
- 8. HTML/CSS Ekranın boyutu ne olursa olsun her zaman en üstte olacak şekilde bir logo yerleştirmek
- 9. Bir jFrame'i her zaman en üstte olacak şekilde nasıl ayarlayabilirim ve kapatılana kadar netleme etkin mi?
- 10. Google Chrome'un geliştirici araçları penceresini her zaman en üstte olacak şekilde ayarlamanın bir yolu var mı?
- 11. Android: En üstte olmayan Fragmanlarda CursorLoader kilitleniyor
- 12. Çerçeve her zaman programımın en üstündedir
- 13. IPhone - UIView addSubview Boşluk en üstte
- 14. Birlik, çocuğu çocuklara ekleyin, ancak en üstte
- 15. Genel veri depolarını barındırmak için github'u kullanarak hassas veri dosyalarının takılmadan kalmasını sağlayın.
- 16. Three.js - Geometri bir başka üstte
- 17. Squarespace: 3 kardeş unsuru her zaman aynı yüksekliğe sahip ve duyarlı bir tasarım sağlayın
- 18. Backstack içinde en üstte olmayan parça yeniden başlıyor
- 19. Her zaman responses_to?
- 20. Üstte kalan UITableView üstbilgisi
- 21. verim her zaman
- 22. Duyarlı görüntü en boy oranını korur ve her zaman merkezdedir
- 23. Archetype her zaman bağımlılığın en son sürümünü kullanmalıdır
- 24. insertRowsAtIndexPaths neden her zaman TableView'ın en üste gelmesine neden oluyor?
- 25. User.Identity.IsAuthenticated her zaman PasswordSignInAsync başarı veriyor sonra her zaman false
- 26. xcode her zaman çöküyor!
- 27. MotionEvent.getPointerCount() her zaman 1
- 28. SCOPE_IDENTITY() her zaman 0
- 29. PhpStorm $ _POST her zaman
- 30. AnonymousId her zaman boş
tam aradığım şey. Teşekkürler. – mithun1538
Ama bir problem var. ActionListeners artık yanıt vermiyor. Ayrıca, kullanıcı diyaloğu kapatabilir (iletişim kutusunun sağ üst tarafında bir x işareti vardır). Kullanıcı adı girdikten sonra geri yüklemem gereken bir şey var mı? – mithun1538
Kullanıcının iletişim kutusunu kapatmasını istemiyorsanız, şunu kullanın: dialog.setDefaultCloseOperation (...); – camickr