2013-08-17 4 views
0

Добрый день, мне нужна небольшая помощь здесь. Я смог подключить свою базу данных и показать этот элемент в JComboBox, моя борьба на данный момент заключается в том, что каждый раз, когда я меняю элемент на своем JComboBox, элемент, который будет отображаться на моем JTextField, всегда является первым элементом в моем JComboBox, даже если я нажимаю на второй или третий шоу пункт в моем JComboBoxПоказать выбранный элемент в JComboBox для JTextField

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? Поскольку каждый раз, когда я изменяю ITem в JcomboBox, элемент, который появится в моем поле JText, всегда является первым элементом в моем comboBox, даже если я выбрал второй, третий, четвертый и т. Д. В своем Jcombobox. Огромное спасибо.

ответ

0

Попробуйте:

If(event.getStateChange() == ItemEvent.SELECTED) 
      { 
      event.getSource(); 
// It returns the selected item 
//you also can check it by: 
     System.out.println(event.getSource()); 
} 
Смежные вопросы