2012-02-01 185 views
6

デフォルトの最大化/最小化( - )および終了(x)ボタンがないJframeウィンドウを作成できるかどうかを知りたいです!私は各フレームにカスタムボタンを追加して、ユーザーがウインドウの右上隅にあるデフォルトのボタンを使いこなす必要がないようにしました!JavaのJFrameウィンドウでデフォルトの最小化/最大化と閉じるボタンを非表示にする方法は?

+3

、今、彼は微妙なユーザビリティのバグを使用してカスタムボタンを台無しにしています。 – millimoose

答えて

4

デフォルトではun_decoratedが、あなたはsetUndecorated()

のJFrame/JDialogのための別の方法は

+0

あなたはJFrame/JDialogからsetUndecorated()を使ってそれをどうやって行うのですか?あなたは例を挙げることができますか? – Xris

+1

'setDefaultCloseOperations()'はボタンを隠さず、ウィンドウが閉じられたときにアプリケーションの動作を変更するだけです。 – millimoose

+1

hmmm APIへのリンクを掲載しましたが、追加の例は必要ありません。 – mKorbel

3
を実装していることができますので、あなたが JWindowを使用することができます

JFrame.setDefaultLookAndFeelDecoratedを使用してください。それはあなたが必要な正確なものではないかもしれないが、ドキュメントは言う、

は、新しく作成されたJFramesは、国境、ウィジェット ウィンドウを閉じるには、タイトルとして そのウィンドウ装飾を(持っている必要があるかどうかのヒントを提供します。 ..)現在のルックアンドフィールによって提供されます。

は、このコードを試してみてください。

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); 

これは全体のタイトルバーを削除します。このthreadもご覧ください。

JWindowsを使用してください。

+0

ウィンドウのタイトルバーが完全になくなっているため、ユーザーはタイトルバーをドラッグしてウィンドウを移動したり、ウィンドウのサイズを変更したりすることはできません。 – Tony

0
JFrame.setDefaultCloseOperation(frame.DO_NOTHING_ON_CLOSE); 

「X」ボタンは機能しません。それは私のために働く。

+0

質問された内容ではありません。 – EntangledLoops

+0

私のためにのみ選択肢があります。私は自分のクローズボタンとメニューをアプリケーションを閉じるために持っており、そこに追加のロジックは、アプリケーションを閉じる前にチェックする必要があります。 – Tony

0

Netbeanを使用している場合は、プロパティのサイズ変更可能なオプションの選択を解除するだけです。 最小化/最大化ボタンのみが無効になります。もちろん

1

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

+0

コードの周りの解説はちょっといいですが、質問には良い答えです。 –

+0

ウィンドウの装飾スタイルを設定するのが不必要に思われます。 docs: を参照してください。public void setWindowDecorationStyle(int windowDecorationStyle) JRootPaneが提供するウィンドウ装飾のタイプ(枠線、ウィンドウを閉じるウィジェット、タイトルなど)を設定します。デフォルトでは、ウィンドウデコレーションは提供されません(NONE)。 –

関連する問題