- PR -

SwingでjScrollPanelの中にボタン等を置いてスクロールさせたい

1
投稿者投稿内容
KENCH
ベテラン
会議室デビュー日: 2004/09/15
投稿数: 82
お住まい・勤務地: FBI,CIA,KGB,MI6にマークされているためシークレット
投稿日時: 2004-10-20 13:42
どもです。
JBuilderでJavaアプリのGUIに挑戦しているのですが、
「ボタン等を配置して、ウインドウを小さくしてボタン等がウインドウから
 はみ出る時にスクロールバーを表示させてスクロールさせたい」
と考えています。
jFrameにjScrollPanelを置いて、その上にjPanelを置いて、
jPanel上にボタン等を配置したのですが、jFrameのリサイズに伴って、
jScrollPanelも小さくなりそれと共にjPanelも小さくなってしまうので、
ボタン等が画面からはみ出る時にスクロールバーを表示させるという
動作になりません。
jPanelがリサイズされなければうまくスクロールバーが出そうな気がしている
のですが、もしかしたら、アプローチからして間違っているのかとも
思っております。
実現方法が分かる方教えていただければと思います。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-10-20 17:48
KENCHさん、こんにちは。

最終的にどのように実用するのかによっていろいろ方法はありま
すが、ひとつの例を示します。

スクロールペインの中に貼るパネルを次の用にサブクラス化
してみてはどうでしょうか。
コード:
	JPanel panel = new JPanel() {
		private Dimension size = new Dimension(800, 800);

		public Dimension getPreferredSize() {
			return size;
		}
	};


注:Dimensionは java.awt.Dimensionです。
KENCH
ベテラン
会議室デビュー日: 2004/09/15
投稿数: 82
お住まい・勤務地: FBI,CIA,KGB,MI6にマークされているためシークレット
投稿日時: 2004-10-21 09:57
Kissingerさん、返信どうもです。
動作的には思ったとおりの動作をするようになりました。
今、EclipseのVisual Editorで画面を作っているのですが、
どうも示されたコーディングを埋め込むとその後のEditorの
動作が挙動不審になるようです。
もうちょっと基本から勉強しようと思います。
さくらば
大ベテラン
会議室デビュー日: 2002/11/12
投稿数: 145
投稿日時: 2004-10-21 16:15
こんにちは、さくらばです。

引用:

Kissingerさんの書き込み (2004-10-20 17:48) より:
スクロールペインの中に貼るパネルを次の用にサブクラス化
してみてはどうでしょうか。



わざわざサブクラスを作るより JComponent#setPreferredSize(Dimension preferredSize)
メソッドを使えばいいのではないでしょうか。

そうすれば、Eclipse の Visual Editor で挙動不審になるのも防げると思います。
KENCH
ベテラン
会議室デビュー日: 2004/09/15
投稿数: 82
お住まい・勤務地: FBI,CIA,KGB,MI6にマークされているためシークレット
投稿日時: 2004-10-22 09:49
さくらばさん、返答どうもです。
こちらの方法でうまくいきました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)