- ベストアンサー
swingでボタンにボーダーをつける方法。
おはようございます。 パネルの上に複数のボタンをおいて ボーダーで囲み、タイトルをつける方法がわかりません。 知っている方教えて下さい。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ボーダーは直接書くのではなく、JComponentに設定するものです。 従って、 1.パネルに、ボーダー付きのパネルを貼り付ける。 2.ボーダー付きパネルに、ボタンを貼り付ける。 という手順になります。 JComponentにボーダーを設定するには、 setBorderメソッドを使います。 具体的には、 JPanel borderPanel = new JPanel(); Border border = BorderFactory.createLineBorder(Color.black); Border titleBorder = BorderFactory.createTitleBorder(border, "title"); borderPanel.setBorder( titleBorder ); となります。 詳しくは、javax.swing.BorderFactoryを参照してください。
その他の回答 (1)
- ngsvx
- ベストアンサー率49% (157/315)
>setBoundsが効かないのですが まず考えられるのは、レイアウトマネージャーが 設定されていることが原因だと思われます。 普通のレイアウトマネージャーは、コンポーネントのサイズや位置を適切に変更します。 従って、位置やサイズが気に入らないのなら、 ・気に入ったサイズになるようなレイアウトマネージャーを使う。 ・レイアウトマネージャーを全く使わない のどちらかでしょう。 ちなみに、GridBagLayoutを使えば、サイズや位置はかなり自由に設定できます。 *ただし、自由度が高い分、設定が面倒。 ちょっと前に、関連する質問に答えたので、そちらも見てください。
お礼
有難うございました。 補足に対する回答まで頂いて…。 すごく参考になりました。本当に有難うございました。
お礼
有難うございます。 とても、参考になりました。
補足
回答ありがとうございました。 ボーダーで囲むことができました。 ありがとうございました。 補足で質問なのですが JButton btn = new JButton("ボタン"); btn.setBounds(412,50,200,35); とした場合、setBoundsが効かないのですが 何か解決方法はありませんか? よろしくお願いします。