Java'da, JFrame'in Genişliğini ve Yüksekliğini başlık ve diğer sınırlar olmadan elde etmek mümkün mü?JFrame: sınırsız boyut al?
frame.getWidth() ve frame.getHeight() 1 kenarlık da dahil olmak üzere genişliği döndürüyor gibi görünüyor.
Teşekkürler.
Java'da, JFrame'in Genişliğini ve Yüksekliğini başlık ve diğer sınırlar olmadan elde etmek mümkün mü?JFrame: sınırsız boyut al?
frame.getWidth() ve frame.getHeight() 1 kenarlık da dahil olmak üzere genişliği döndürüyor gibi görünüyor.
Teşekkürler.
frame.getContentPane().getSize();
frame.pack();
System.out.println("frame width : "+getWidth());
System.out.println("frame height: "+getHeight());
System.out.println("content pane width : "+getContentPane().getWidth());
System.out.println("content pane height: "+getContentPane().getHeight());
System.out.println("width of left + right borders: "+(getWidth()-getContentPane().getWidth()));
System.out.println("height of top + bottom borders: "+(getHeight()-getContentPane().getHeight()));
Bu
frame.getContentPane().getSize();
Ama içeriği eklememişlerse henüz çalışıyor. Benim durumumda, içerik eklemeden önce JFrame'in iç boyutlarını hesaplamak istedim, böylece içeriği buna göre bölebilirim. İşte neyle geldiğini.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack(); // Need this, otherwise insets() show as 0.
int scrW = (int)screenSize.getWidth();
int scrH = (int)screenSize.getHeight();
int innerW = scrW - getInsets().left - getInsets().right;
int innerH = scrH - getInsets().top - getInsets().bottom;
// Need to setSize(), otherwise pack() will collapse the empty JFrame
setSize(scrW, scrH);
Teşekkürler! frame.pack(); bu komuttan önce var olmalıdır. Aksi takdirde, geri dönecektir (0; 0). – rzaaeeff