OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

JDK1.1.7 と JDK1.3.1 の違い。。。

  • すぐに回答を!
  • 質問No.245668
  • 閲覧数209
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (12/12)

はじめて質問いたします。
現在、JDK1.1.7 で開発したアプレットがあるのですが、
この中で、java.awt.Choice を未選択状態にする為に select(-1); 
としている個所があります。
このアプレットをJavaPlug-in1.3.1 を使用して実行すると、IllegalArgumentException
が発生してしまいます。

そこで、1.1.7 と 1.3.1 のソースコードを比べてみると、確かに、1.3.1 では、
select(-1) は認めていないようです。

--- JDK1.1.7 の java.awt.Choice の実装 --->

public void select(int pos) {
  if (pos >= pItems.size()) {
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.1.7 ---

--- JDK1.3.1 の java.awt.Choice の実装 --->

public synchronized void select(int pos) {
  if ((pos >= pItems.size()) || (pos < 0)) {     <--- 違いはここだけ。。。
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.3.1 ---

う~ん、まさしく、-1 を拒否していますね。

何故、このような実装の違いが出ているのでしょうか?
(私的には、Java2開発者の気まぐれなのではと考えてしまいます。。)

また、このアプレットを最小限の修正で1.3.1 でも正常に動作するようにしたいの
ですが、1.3.1 の java.awt.Choice では未選択状態にする事は不可能なのでしょうか?

ご存知の方がおられましたら、是非、お教え頂きたいと思います。
よろしくお願い致します。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 50% (604/1207)

バージョン1.1.xのAPI仕様を見ても、select(-1)で未選択状態に出来るとは書いてないんですよね…… だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。

API仕様では、バージョン1.1でも1.3でも例外キャストの条件が「指定された位置が無効な場合」となっていて、具体的な数字が出てこないのでかなりあいまいな表現ですが、それでも引数に-1を渡したら普通は例外になると考えるのが自然です。

いずれにせよ、バージョン1.3のAPI仕様を見る限り、未選択状態に関することは載っていないので、あとから未選択状態になるように仕向けるのはあきらめたほうが良いと思われます。ほかに上のような裏技があったとしても、将来の実装が変更されないとは言い切れません。

提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。未選択状態にする目的がかかれてないので、なんともいえませんが。
お礼コメント
mrt136

お礼率 100% (12/12)

>だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。

うっ、確かにおっしゃるとおりです。。。
たまたまうまく動いていたからそのままにしておいたと言った感じでしょうか。。。

>提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。

そうですね。やっぱりそれしか無いですよね。今後の事も考えると。。。
しかし、数が多いので手間が。。。

ご回答本当にありがとうございました。
投稿日時 - 2002-04-03 14:18:50
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ