2012-02-01 14 views
6

Varsayılan maksimize/simge durumuna küçült (-) ve kapat (x) düğmelerine sahip bir Jframe penceresi oluşturmanın mümkün olup olmadığını bilmek istiyorum! Her kareye özel düğmeler ekledim, böylece kullanıcının pencerenin sağ üst köşesindeki varsayılanlarla uğraşması gerekmeyecek!Java'daki JFrame penceresindeki varsayılan küçültme/büyütme ve kapatma düğmeleri nasıl gizlenir?

+3

, şimdi o ince kullanılabilirlik böcek özel düğmeler uğraşmak gerekecek. – millimoose

cevap

4

varsayılan olarak un_decorated olduğu için JWindow kullanabilirsiniz, ancak JFrame/JDialog için setUndecorated()

başka yolları

+0

Bunu nasıl yaparsınız? SetUndecorated() fro JFrame/JDialog! Bir örnek verebilir misin ? – Xris

+1

'setDefaultCloseOperations()' düğmeleri gizlemez, yalnızca pencere kapatıldığında uygulamanın davranışını değiştirir. – millimoose

+1

hmmm API'ye bağlantı gönderdim, daha sonra herhangi bir ek gerekli değildir. – mKorbel

3
uygular

JFrame.setDefaultLookAndFeelDecorated'u kullanın. Bu

yeni oluşturulan JFrames pencere, başlık kapatmak için Sınırlar, widget olarak onların Pencere süslemeleri (olması gereken olsun veya olmasın olarak bir ipucu sunar, size gereken ancak doktor diyor kesin bir şey olmayabilir. ..) mevcut görünüm ve his tarafından sağlanan.

bu kodu deneyin:

JFrame frame = new JFrame("Example"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setSize(100, 100); 
frame.setUndecorated(true); 
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE); 
frame.setVisible(true); 

Tüm bu başlık çubuğu kaldıracaktır. Ayrıca bu thread bir göz atın.

Aksi halde JWindows'u kullanın.

+0

Penceredeki başlık çubuğu tamamen kayboldu, böylece yan etki kullanıcı başlık çubuğunu sürükleyerek pencereyi taşıyamaz veya pencereyi yeniden boyutlandıramaz. – Tony

0
JFrame.setDefaultCloseOperation(frame.DO_NOTHING_ON_CLOSE); 

'X' tuşunun çalışmasını engeller. Benim için çalışıyor.

+0

Ne için istendi değil. – EntangledLoops

+0

Sadece benim için seçenek çalışıyor. Uygulamayı kapatmak için kendi kapatma düğmem ve menüye sahibim ve orada ek mantık uygulaması kapatmadan önce kontrol edilmesi gerekiyor. – Tony

0

Netbean kullanıyorsanız, özelliklerdeki yeniden boyutlandırılabilir seçeneğinin işaretini kaldırın. Yalnızca Küçült/Büyüt Düğmesini devre dışı bırakır. Tabii

1

frame.setUndecorated(true); frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);

+0

Kod etrafında biraz yorum yapmak güzel olurdu, ama soruya iyi bir cevap. –

+0

Pencere dekorasyon stilini ayarlama gereksiz yere görünüyor. Bkz. Docs: public void setWindowDecorationStyle (int windowDecorationStyle) JRootPane, Pencere Düzenleri türünü (Kenarlıklar, Pencereyi kapatmak için widget'lar, başlık ...) belirtmelidir. Varsayılan, Pencere süslemeleri (NONE) sağlamaktır. –