- PR -

JRE6+Swingでのコンボボックスの不具合

1
投稿者投稿内容
田舎の開発者
会議室デビュー日: 2007/02/20
投稿数: 18
投稿日時: 2007-05-18 18:16
お世話になっています。PDFの件ではまだ決定打を見出せていませんが、他に厄介な問題が起きました。

%表題%ということで、Swingで構築したリッチクライアント(コンパイル環境はJDK 5.0)をJRE6.0環境下で実行すると、「コンボボックスが一瞬ドロップダウンしてすぐに消えてしまう」という障害が発生するようになりました。

他にこのような障害が発生している事例と、出来れば対処方法を御存知の方がいらっしゃれば、アドバイスを頂ければ幸いです。よろしくお願いします。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-05-18 18:38
その特定環境でのみ起こる現象なんですか?
他の環境でも起こるんですか?
他の環境でも起きるなら不具合はSwingではなく
あなたの実装と言うことになりますが。

田舎の開発者
会議室デビュー日: 2007/02/20
投稿数: 18
投稿日時: 2007-05-18 20:28
特定PCで起こる、ということでしたらNoです。同じアプリケーションを違うPCにインストールし実行したところ、同じ現象が再現しました。まったく同じ環境でJRE5.0に戻したところ現象は起きませんでした。

違うSwingアプリケーションでも起こるのか、という意味でしたら未検証です。

ですので、「確かに障害の原因が実装に依存している可能性はあるが、その原因はJRE5.0とJRE6.0の差異によって顕現する」というところまでは言えると思います。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-05-21 14:54
どのようなイベント処理をされているかが分からないので
なんとも言えないのですが、イベント処理の書き方次第で発生するのであれば
その再現コードを割り出すのが先決では無いでしょうか。

現時点では「そういう現象は聞いたこと無いけどなぁ」という感想しか言えません…。

業務のコードでしょうから、公開しても差し支えない様に改変する必要があるでしょうが、
再現コードを提示してもらえると検証もできるのですが。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-05-21 15:45
引用:

田舎の開発者さんの書き込み (2007-05-18 18:16) より:
%表題%ということで、Swingで構築したリッチクライアント(コンパイル環境はJDK 5.0)をJRE6.0環境下で実行すると、「コンボボックスが一瞬ドロップダウンしてすぐに消えてしまう」という障害が発生するようになりました。


「すぐに消えてしまう」の中の、「消えてしまう」というのはドロップダウンが解除されて引っ込んでしまうということでしょうか?それともドロップダウンで出ている部分の描画がうまくいかないという感じなのでしょうか?
また「すぐに」というのはなにもしなくても時間が経てばという意味でしょうか?それともドロップダウンした後なにか操作(ウィンドウの移動等)をしていると消えるということでしょうか?

いずれにしても、Swing と AWT を混在していて、その混在が不適切ややりかただとそういうことは起こりそうな気がします。一番簡単なのは、なにも考えずに、極力 Swing だけを使い(J で始まるクラスを使う)、できるだけ AWT をじかに使わないようにすることなのですが、すでにそうされていますか?

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-05-21 16:27
どこかへフォーカスを設定している(または外している)コードが、動いているとか。
田舎の開発者
会議室デビュー日: 2007/02/20
投稿数: 18
投稿日時: 2007-05-22 09:50
お返事ありがとうございます。
やはり、現象を再現できる最小限のコードを絞り込むことが優先ですね。
とりあえずお返事できる部分ということで

>「すぐに消えてしまう」の中の、「消えてしまう」というのはドロップダウンが
>解除されて引っ込んでしまうということでしょうか?それともドロップダウンで
>出ている部分の描画がうまくいかないという感じなのでしょうか?
前者です。一旦ドロップダウンしますが、すぐに引っ込んでしまいます。

>いずれにしても、Swing と AWT を混在していて、その混在が不適切ややりかた
>だとそういうことは起こりそうな気がします。
障害が起きてるアプリはSWTとSwingを混在で使っています。SWTは3.1ですが……。
このあたりかなぁ……>原因
1

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