Bir JDialog olan bir modal ayarları iletişim var. Bu ayar penceresinde, bir düğme de dahil olmak üzere, bir JDialog olan bir başka mod ayarları diyaloğuna bazı bileşenler yerleştirdim. Onları JDialog'lar yaptım çünkü modal bir diyalog yapmak için bildiğim tek yol bu.Modal JDialog başka bir modal JDialog üzerinde nasıl oluşturulur
Sorun şu: ana ayarlar iletişim kutusunu oluşturduğumda, JDialog'u ya ana Çerçeve olmadan veya ana Çerçeve ile yapılandırmam gerekiyor. Ana pencerem bir JFrame olduğundan, bunu ana ayar iletişim kurucusuna iletebilirim. Ancak, ana ayar diyaloğu bir ebeveyn olarak olması gereken ikinci modal ayar diyaloğunu oluşturmak istediğimde, JDialog'un (J) Frame'ini elde etmenin bir yolunu bulamıyorum. Ana ayarlar diyalog penceresini bir ebeveyn olarak iletmek istiyorum, böylece ikinci ayar diyaloğu gösterildiğinde üzerinde durur. İkinci ayar diyaloğunun bir konumu, sadece JDialog'un kurucularını geçmek için kurucusu olmadığını varsayalım.
JDialog'un (J) Çerçevesini almanın bir yolu var mı? Kurulumumda bir tasarım hatası var mı ve bu ayarlar iletişim kutuları için başka bir şey kullanmalı mıyım? (Ve eğer öyleyse, nasıl bu alternatif ayarları diyaloglar kalıcı yapın gerekir?)
Yardımlarınız için teşekkür ederim, ErikGÜNCELLEME: cevaplar için teşekkür ederiz. Görünüşe göre, JDialog için bir sahip olmak kesinlikle gerekli değil. Diyaloğun diyaloğu kapanıncaya kadar devre dışı bırakabilmesi için bunun gerekli olduğunu düşündüm, fakat görünüşe göre modalite sahibinden bağımsız. Bu aynı zamanda kalıcı diyaloglar içinde kalıcı diyaloglar verir
public class CustomDialog extends JDialog {
public CustomDialog(String title) {
setModal(true);
setResizable(false);
setTitle(title);
buildGUI();
}
public Result showDialog(Window parent) {
setLocationRelativeTo(parent);
setVisible(true);
return getResult();
}
}
: Ben de bile sahibi ile iletişim hala çok şimdi benim kod gibidir, sahibine ortalamak olmadığını fark ettik.
Yardımlarınız için teşekkürler!
Sadece yapmazdım:
veya
–