皆さん、私は Java に問題があります。5 行 1 列のパネルを作成しました。また、行の 1 つにボタンを追加し、最後にこのパネルをフレームに追加し、フレーム全体に引き伸ばされたボタンを受け取りました。ボタンのサイズを小さくして、使用しました
myButton.setSize(10,10);
しかし、それはうまくいかないようです、私も使用します
frame.pack();
それは問題かもしれません、事前に感謝します
皆さん、私は Java に問題があります。5 行 1 列のパネルを作成しました。また、行の 1 つにボタンを追加し、最後にこのパネルをフレームに追加し、フレーム全体に引き伸ばされたボタンを受け取りました。ボタンのサイズを小さくして、使用しました
myButton.setSize(10,10);
しかし、それはうまくいかないようです、私も使用します
frame.pack();
それは問題かもしれません、事前に感謝します
サイズを自分で設定することはお控えください。LayoutManager
あなたのために仕事をする適切なものを選択する必要があります。
(明示的に設定しない限りsetLayout(null)
、設定したサイズは破棄され、現在のレイアウト マネージャーが新しいサイズをコンポーネントに割り当てます。)
を使用していると言いますGridLayout
。このレイアウトはかなり「柔軟性に欠ける」のでGridLayout
、より柔軟な利点が必要な場合はGridBagLayout
、試してみてください。
ニーズに合ったレイアウト マネージャーが見つからない場合は、恐れずに独自のレイアウト マネージャーを作成してください。(実装が比較的簡単な 5 つの方法です。)
現在のアプリケーションのスクリーンショットと、どのように表示したいかについての説明を投稿していただければ、さらにサポートさせていただきます。
いくつかの便利なリンク
aloobe がより一般的な解決策を持っているように思われる場合。当面の解決策は、JPanel にボタンを追加し、Layoutmanager を GridLayout のようなレイアウトに設定するか、別の LayoutManager が適している場合は別の LayoutManager を設定することです。
ボタンの代わりに、このパネルを元のパネルに追加します。
レイアウト マネージャー ( などGridLayout
) を使用している場合、通常、 の呼び出しはsetSize()
機能しません。これは、レイアウト マネージャーが最終的にコンテナー内の各コンポーネントのサイズと配置方法を決定するためです。
あなたができることはsetPreferredSize()
、setMaximumSize()
および/またはを呼び出すことですsetMinimumSize()
。使用中のレイアウト マネージャーに応じて、これらの要求の 1 つまたは複数が受け入れられます (これが実際の要求であるため)。呼び出すframe.pack()
と、コンテナー (およびサブコンテナー) 内のすべてのサイズを適切なサイズに合わせようとします。
したがって、あなたの場合、呼び出しmyButton.setPreferredSize (10, 10);
はおそらく機能します。ただし、コンテナーのサイズが変更された場合は、引き続きサイズ変更されます。それを望まない場合は、私が投稿できる他の解決策があります。