コンボボックスを使う時の警告とは?

このQ&Aのポイント
  • Javaでコンボボックスを使う際に出る警告の対処方法を教えてください。
  • コンボボックスを使うと必ず出てしまう「注意:~.javaの操作は、未チェックまたは安全ではありません。注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。」という警告の解消方法を教えてください。
  • コンボボックスの使用時に生じる警告の解消方法について教えてください。
回答を見る
  • ベストアンサー

コンボボックスを使う時の警告

こんにちは。 Javaでコンボボックスを使いたいのですが、コンボボックスを使うと必ず 注意:~.javaの操作は、未チェックまたは安全ではありません。 注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。 と出てしまいます。 自分なりに調べたところ、どうもGenericsというものが解決のカギとなっているんじゃないかとにらんでいるのですがよくわかりません。 以下に警告のでるプログラムを掲載します。 public class fun extends JFrame implements ActionListener{ String[] A; JComboBox data; ------省略------ public fun(){   //コンストラクタ A = datain(); data = new JComboBox(A); ------省略------ public String[] datain() txtファイルからのデータ入力作業 } public static void main(String[] args){ new fun(); } ※入力データの例 テキストファイル  あいうえお  かきくけこ  さしすせそ  たちつてと そしてコンボボックスで選択をできるようにしたいのですが、この警告が出ないようなやり方を教えてください。よろしくお願いします。

  • Java
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

なるほど、Java 7でJComboBoxの仕様が変わっていたんですね。Java 6で試していたので何が問題なのか分かりませんでした。 JComboBoxの変数を宣言するところとコンストラクターを呼ぶところの両方で、< >で要素の型を指定してください。 String[] A; JComboBox<String> data; data = new JComboBox<String>(A);

hoshio1209
質問者

お礼

わかりやすく教えていただきありがとうございます!! java7のAPIの使用の日本語版が出ていないのでとても苦労を強いられています。 本当に助かりました。 ありがとうございます。

その他の回答 (2)

noname#147388
noname#147388
回答No.2
hoshio1209
質問者

お礼

ありがとうございました。 すみません。 本当は英語が読めればよかったのですが、ありがとうございました。

hoshio1209
質問者

補足

すみません。 英語で書かれているので何が書いてあるかわかりません。 まだ7用の日本語版は出ていないみたいですね。 結局のところどうすればよいのでしょうか?

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

質問文に書かれているコードは省略されすぎていて、肝心の部分が含まれていません。 指示されているようにjavacの-Xlint:uncheckedオプションを使って再コンパイルして、その結果指摘される部分と指摘内容を再掲してください。

hoshio1209
質問者

補足

~.java:50: 警告:[unchecked] raw型JComboBoxのメンバーとしてのJComboBox (E[])への無検査呼出しです kashi1 = new JComboBox(kamoku); ^←nの下についています。 Eが型変数の場合: クラス JComboBoxで宣言されているE extends Object 警告1個 と出てしまいます。 プログラムは関係なく,こういう使い方はできないということでしょうか?

関連するQ&A

  • JavaでSwingを用いたコンボボックスの使い方

    こんにちは。 JavaでSwingを使いコンボボックスを使っています。 既にインスタンスを生成済みの空のコンボボックスに1次元配列を格納するにはどのようにしたら良いのでしょうか?いろいろ試行錯誤行いましたがうまくいきませんでした。 ★この空のコンボボックスに後から追加するにはどうしたらよいのでしょうか? JComboBox<String> a1,a2,a3; a1 = new JComboBox<String>(); a2 = new JComboBox<String>(); a3 = new JComboBox<String>(); addItemなどを使ってみましたがうまくいきませんでした。 追加するデータは1次元配列でできています。 Javaのバージョンは7です。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • コンボボックスにつきまして

    JComboBoxを使って、コンボボックスを作成したいのすが、 表示は名称で、実際の値取得はコードで取りたいのですが、 可能でしょうか? 例えば、 コード  名称 001   りんご 002   ぶどう 003   パイン というデータをセットし、 コンボボックスのドロップダウンでは「りんご」を選択したときには、 「001」という値を取得したいのです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ACCESS2013 コンボボックスの警告について

    (1)コンボボックスに一度値を入力及び選択をして確定する。 (2)再度(1)のコンボボックスの内容を削除して空欄の状態に戻す。 (3)他のフィールド等にカーソル等を移すと、(2)のコンボボックスに対して警告メッセージが出でしまう。 'xxxxトランザクション.xxxxカラム'フィールドに値を入力してください。 上記(3)の警告メッセージが出ないようにしたいのですが どのように対応すればよろしいでしょうか? ※フォームはxxxxトランザクションがデータソース(ダイナセット)になっています。 ※コンボボックスはxxxxマスタテーブルが値集合(テーブル/クエリ)となっています。

  • J2SE5.0でのArrayListの警告

    JAVAを始めたばかりの、初心者です。 ArrayListを使って、簡単なプログラムを作成して、 コンパイルをしたのですが、 注: MyClass1.java の操作は、未チェックまたは安全ではありません。 注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてくださ い。 と、出ました。(一応、実行したら、動きました。) 参考書で、調べたら、J2SE5.0では、 ArrayListを使うと、この警告が出るとは、書いてあったのですが、詳しくは、載ってなくて、この警告の意味が全く分かりませんでした。 この警告の意味とはずし方を、教えてください。 お願いします。 長文で、失礼しました。

    • ベストアンサー
    • Java
  • JAVA 二分探索木トラバーサルのコンパイル時警告

    下記のTreeMaptest01.javaをコンパイルした時、次のような警告が出ます。 この警告が出ないようにする方法を教えてください。 よろしくお願いします。 % javac -Xlint:unchecked TreeMaptest01.java TreeMaptest01.java:92: 警告:[unchecked] 無検査変換です 検出値 : decorder 期待値 : java.util.Comparator<? super java.lang.String> TreeMap<String,String> s = new TreeMap<String,String>(new decorder()); ^ 警告 1 個 /*=========TreeMaptest01.java=========================================== import java.util.*; class decorder implements Comparator { public int compare(Object obj1, Object obj2) { int c = ((String)obj1).compareTo((String)obj2); return -c; } } class TreeMaptest01 { public static void main(String args[]) { // 空のマップを作成。 TreeMap<String,String> tm = new TreeMap<String,String>(); // キーと値の組を追加。 tm.put("C","Car"); tm.put("A","Airplane"); tm.put("B","Book"); tm.put("E","Earth"); tm.put("D","Door"); // キーと値のすべての組を昇順にたどる。 System.out.println("キーと値のすべての組を昇順にたどる"); Set a = (Set)(tm.keySet()); Iterator ia = a.iterator(); while( ia.hasNext() ) { Object key = ia.next(); System.out.println("キー:" + key + " 値:" + (String)tm.get(key)); } System.out.println(); // 空のマップを作成。 // ここでエラー(警告が出る) TreeMap<String,String> s = new TreeMap<String,String>(new decorder()); // キーと値の組を追加。 s.put("C","Car"); s.put("A","Airplane"); s.put("B","Book"); s.put("E","Earth"); s.put("D","Door"); // キーと値のすべての組を降順にたどる。 System.out.println("キーと値のすべての組を降順にたどる"); Set b = (Set)(s.keySet()); Iterator ib = b.iterator(); while( ib.hasNext() ) { Object key = ib.next(); System.out.println("キー:" + key + " 値:" + (String)s.get(key)); } } } =======================================================================*/

  • シート上のコンボボックスの使い方

    シート上のコンボボックスの使い方 現在作っている物があるのですが、色々と調べてはみるものの解決出来なくて困っています。 ☆やりたいこと シート1 コンボボックスA コンボボックスB コンボボックスC 一覧表(A1~A16)の枠だけが書かれているもの コンボボックスA・・・青森 秋田 岩手 コンボボックスB・・・100 200 300 コンボボックスC・・・北 東 西 南 シート2 コンボボックスAとBとCの選択されたものによって選ばれる一覧表(例A1~E16)のデータ ☆シート1にてコンボボックスを3種類選択した時に、シート1枠だけの一覧表にシート2のデータが表示される! ということがやりたいです。 説明がアバウトすぎて申し訳ありませんが、初心者なりに色々やった結果が惨敗に終わっている状態です。 皆様のお力を貸していただきたく思います。

  • コンボボックス二つを連動させる方法

    はじめまして。 Java(struts)とJavaScriptを使用し、プログラムを作成しています。 QNo.1946894に似ているのですが、 データベースを使った場合がよくわからなかったので質問させていただきます。 仕様の内容は、 コンボボックスAには、テーブルAの内容が入っています。 コンボボックスBには、テーブルBの内容が入っています。 たとえば、 Aは野球のチーム、Bは選手のテーブルとします。 Aのコンボボックスで、「阪神」を選んだ場合に、 Bのコンボボックスでは自動的に阪神の選手だけが出るようにしたいのですが、 どのようにしたらよいのかわかりません。 Bのテーブルは、「チーム」というコードは持っています。 よろしくお願いします。 環境: Java1.4.2_09 struts 1.2.7 tomcat 4.1.27

  • ACCESSのコンボボックスについて

    ACCESSでコンボボックスを使っているときに たまに入力できなくなってしまう時があり困っています。 例えばA,B,Cという3つのデータを選択できるコンボボックスがあり、 現在、Aが選択されていてBに変更しようとした時に コンボボックスの表示部分が突然空欄(または選択されているのに表示されていない)になってしまいます。 その後、どれを選択してもコンボボックスには何も表示されなくなってしまいます。 この現象が起こるとなぜか同じフォーム内のボタンなどにも不都合が起こるようになってしまいます。 (テキストボックスのデータを削除するボタンがあるのですがおしてもなにも起こらなくなってしまいました) いろいろ試しているのですが全く原因がわかりません。 どのようなところに原因がありそうかなどあれば教えてください。 宜しくお願いします。

  • accessのコンボボックスのことで質問です。

    accessを勉強しているのですが、ちょっとしたことで分からなくなってしまいました・・。 質問の内容なのですが、まずフォーム上にコンボボックスAとコンボボックスBを配置するとします。 レコードソースには仮に[情報テーブル]というテーブルが選択されているとします。 コンボボックスAには[情報テーブル]のフィールド名が、 例えば[顧客NO]、[商品]、[値段]というフィールド名が入っているとし、フィールドにはそれぞれ10件ずつデータが入力されています。 そしてコンボボックスAで[顧客NO]を選択するとコンボボックスBに[顧客NO]の10件のデータが挿入され、選択できるようにしたいのです。 他のフィールド名を選んだときにも同じようにコンボボックスBにフィールドのデータが入るようにしたいと思っています。 コンボボックスAにテーブル名を入れることはできたのですが、 コンボボックスAで選択されたフィールドのデータを、コンボボックスBで選択できるようにするというやり方がわからないのです・・。 accessは2002を使っています。 よろしくお願いします。

  • VB.NET2003のDataGridでコンボボックス

    こんにちは。 最近VB.NET(2003)を始めたばかりの初心者です。 DataGridにコンボボックスを作成する方法を探してまして、 http://dobon.net/vb/dotnet/datagrid/datagridcombobox.html に書いてあるようにDataGridTextBoxColumnクラスからの派生クラスを作成して呼び出してみました。 そうしたところ、コンボボックスが表示され、データのセットもきちんとできました。 しかし、そのコンボボックスで選択している値を取得する方法がわからなく困ってます。 たとえば Dim comboSorce As New DataTable("ComboBox") comboSorce.Columns.Add("DisplayMember", GetType(String)) comboSorce.Columns.Add("ValueMember", GetType(Integer)) comboSorce.Rows.Add(New Object() {"OK", 0}) comboSorce.Rows.Add(New Object() {"NG", 1}) というデータをコンボボックスにセットした場合 OK,NGという表示上の値は CStr(DataGrid1(row,col)) で取得できますが、実際の値を取得する方法がわかりません。 ご存知の方いらっしゃいましたら、ご教授ください。 それと、行毎に違う値(リストデータ)のコンボボックスを作成することはできますでしょうか? 以上です。よろしくお願いします。

専門家に質問してみよう