続・JavaSwingでブラウザを表示する

MozillaPanelで検索して来ている方もいるみたいだけど…。

最終的に、JDICplusをしようすることにして、落ち着いた。
特に理由がなければ、JDICplusをお勧めするよ。

とはいえ、またまた問題がでてきたので…その解決策を。

まず、JTabbedPaneでブラウザを表示させると、
タブ切り替えをしたりしても必ず前面にブラウザが表示される件は、
ブラウザタブがカレントじゃない場合は、 setVisible(false)で対応すればいい。

新たに発生した問題として…。
私は、色々なパーツ(テキストボックスやプルダウン、パネルなど)をあらかじめ作っておき、
モードによって組み替える方式をとっている。

その場合、一旦、見える部分を removeAll() してから、組み込み、
validate() しているわけだが…。

なぜかブラウザが一度、左上に描画されてしまう。
理由は分からないが、removeAll()や validate()など、特定の処理をすると、
setVisible(false)にしていても、描画される場合があり、
かつ、その描画は本来のブラウザパネルの位置ではなく、フレームトップの座標(0,0)になるようだ。

これは困った。
仕方が無いので、setVisible(false)と同時に、setBounds(0,0,0,0)とすることで解決した。

あと、これはどうしようもないのだが、描画周りが遅いね…。
[PR]
by miries | 2011-01-19 10:23 | ゲームを作る


<< アマゾンのおすすめ PHP のPagerを使う。 >>