将JComboBox中的选定项显示为JTextField

时间:2013-08-17 05:33:44

标签: jcombobox

每个人都过得愉快,我需要一点帮助。我能够连接我的数据库并将这些项目显示给JComboBox,我现在的摇摆是每当我更改我的JComboBox上的项目时,我的JTextField上显示的项目始终是我的JComboBox中的第一项,即使我点击我的JComboBox中的第二个或第三个项目

public void JComboBoxToJTextFlied()
{
   String dataSource = "CheckWriterDB";
   String dbURL = "jdbc:odbc:" _ dataSource;
   String temp = (String)listOfSuppliers.getSelectedItem();
   String sql = (select Suppliers from SuppliersTable where Suppliers=?)

   try
   {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection connect= DriverManager.getConnection(dbURL, "", "");

      PrepareStatement pst = connect.prepareStatement(sql);
      pst.setString(1, temp);
      resultSet result = pst.executeQuery();

      //My Action perform so that everytime i change the item in my JComboBox
        the new item will be shown in my JTextField

      listOfSuppliersCombo.addItemListener(new ItemListener()
      public void itemStateChange(ItemEvent event)
      {
         If(event.getStateChange() == ItemEvent.SELECTED)
      { 
         try
         {
             if(result.next())
             {
               String add = result.getString("Suppliers")
               newSuppliersEntryField.setText(add);
             }

         }
         catch()
         {
            system.out.println("Your error is:  "  + e)
         }
      }
      }
      );
   }
   catch(Exception e)
   {
     System.out.println("Your error is:  " + e)
   }


}  

注意:listOfSupplierCombo是我的JComboBox,newSuppliersEntryField是我的JTextField。

如何改进我的代码,以便每次更改JcomboBox中的项目时,它都会在我的JTextField中显示相同的项目?因为每次我在JcomboBox中更改ITem时,即使我在我的Jcombobox中选择了第二个,第三个,第四个等,我的JText字段中出现的项目也始终是我的comboBox中的第一个项目。非常感谢。

1 个答案:

答案 0 :(得分:0)

试一试:

    If(event.getStateChange() == ItemEvent.SELECTED)
           { 
             event.getSource();
 // It returns the selected item
 //you also can check it by:
      System.out.println(event.getSource());
}