3

私は現在、クエリが入力されたjcomboboxを使用するプログラムをJavaで作成しています。プログラムの実行時にデフォルトの選択値を設定する方法があるかどうか疑問に思いました。私のクエリはアルファベット順にリストされた言語のリストですが、英語(リストの中央にあります)をデフォルト値にすることができるかどうか興味があります。

値をjcomboboxに手動でハードコーディングすると、デフォルトの変数を次のように設定できることを知っています。

jcombobox.setSelectedIndex(int anIndex);

また

jcombobox.setSelectedItem(Object anObject);

しかし、ResultSetがいつループしてjcomboboxにデータを入力するかはわかりません。

現在、私のコードは次のとおりです。

languageLabel =new JLabel("Languages:");
rowFour.add(languageLabel,BorderLayout.WEST);//adding to my current panel
langbox = new JComboBox(); 
rowFour.add(langbox,BorderLayout.WEST);
try
 {
     con = DriverManager.getConnection ("jdbc:oracle:thin:@localHost:portNumber:ORCL", "username", "password"); 
     statement = con.createStatement();
 }
catch(SQLException sqle) 
            {
            System.out.println(sqle);    
            }
langbox.removeAllItems();
langbox.addItem("Please Select...");
 try
   {
      ResultSet rs = statement.executeQuery("select language from language order by 1");
      while (rs.next())
            {
                langbox.addItem(rs.getString(1));
                //Thinking that this is where a default value would be located
            }

   }
 catch(Exception e)
  {   
    System.err.println(e);
  }

お時間をいただきありがとうございます。

4

1 に答える 1

3
ResultSet rs = statement.executeQuery("select language from language order by 1");
while (rs.next()) {
   langbox.addItem(rs.getString(1));
   //I'm thinking that this is where a default value would be located
   if(rs.getString(1).equals(myDefaultLanguageVariable)) {
      langbox.setSelectedItem(rs.getString(1));
   }
}

ところで:あなたはそのコードをクリーンアップする必要があります、それはその方法では良くありません。

于 2012-08-01T15:16:22.597 に答える