java - 在由查询填充的 jcombobox 中设置默认值

标签 java swing jcombobox

我目前正在用 Java 编写一个程序,该程序使用查询填充的 jcombobox。我想知道是否有一种方法可以在程序执行时获得默认选择值。我的查询是按字母顺序列出的语言列表,但我很好奇是否可以将英语(位于列表中间)作为默认值。

我知道当您手动将值硬编码到 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);
  }

感谢您的宝贵时间。

最佳答案

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));
   }
}

顺便说一句:你应该清理那些代码,那样做不好。

关于java - 在由查询填充的 jcombobox 中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762249/

相关文章:

java - sendBroadcast() 的用法

java - 如何在循环中从 EditText 中提取文本并将其连接起来以在单个 TextView 中查看它?

java - JTable 的 JComboBox 单元格编辑器在打开列表时已经设置了值,即使在组合框外单击也是如此

Java GUI 在调整大小之前显示空白

java - 如何将 mysql 中的数据插入组合框?

java - jcombobox 不从数组加载值

java - 在数据库中,一列的值为 "0.000000000000"。如何将 "0.000000000000"整体打印出来?

java - 通过命令终端在 Eclipse 中使用 JUnit 运行 java 文件

java - 如果使用 SwingWorker 加载数据,何时将 TabelModel 绑定(bind)到 JTable?

java - 应用程序运行时更新 JComboBox