2015-05-07 5 views
0

Мои значения получают его из базы данных (mysql).радиокнопка использовать какой сеттер?

Если в текстовом поле, будет выглядеть так: txtMID.setText("" + rs.getString("menu_id"));

ли в поле со списком, как это? cmbMCat.setSelectedItem("" + rs.getString("menu_cat"));

Как насчет радиокнопка? Я думаю, что использование if-else состояние. Но я не получаю , как написать код.

Моя кнопка Рация в конце кодирования: private String type;

и здесь кнопки:

private void rbMFoodActionPerformed(java.awt.event.ActionEvent evt) {           
     // TODO add your handling code here: 
     showCategory(); 
     type = "Food"; 

    }          

    private void rbMDrinkActionPerformed(java.awt.event.ActionEvent evt) {           
     // TODO add your handling code here: 
     showCategory(); 
     type = "Drink"; 

И это мой

private void showCategory() { 
     try { 
      cmbMCat.removeAllItems(); 
      Statement stmt; 
      stmt = con.createStatement(); 

      if (rbMFood.isSelected()) { 
       ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY02'"); 
       while (rs.next()) { 
        cmbMCat.addItem(rs.getString("menu_cat")); 
       } 

      } else { 
       ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY01'"); 
       while (rs.next()) { 
        cmbMCat.addItem(rs.getString("menu_cat")); 
       } 

      } 
     } catch (Exception e) { 
     } 

enter image description here

Пожалуйста, я действительно нужна ваша помощь T__T Задайте вопрос, запутался ли мой вопрос, потому что мой плохой английский.

+0

Неясно, что вы просите. – MadProgrammer

+0

Извините ._. Я хочу спросить, какой сеттер я должен использовать для переключателя? Я уже читал ваш [ответ] (http://stackoverflow.com/questions/18260801/radio-buttons-and-setselected-or-something-else) раньше. Но я все равно не понимаю. @MadProgrammer – enjeru

+0

Какую информацию из таблицы базы данных вы используете для хранения состояния переключателя? Как бы вы определили, нужно ли его выбирать или нет? – MadProgrammer

ответ

1

Привет Прежде всего, ваш вопрос непонятен. Нижеследующие предложения основаны на моем понимании вашего вопроса.
При загрузке вашего приложения вы хотите инициализировать свои компоненты пользовательского интерфейса на основе базы данных поступающей формы данных (mysql).
Таким образом, вы получите одно поле, как истина или ложь о том, что радио-кнопки из базы данных

if(true) 
    rbmFood.setSelected(true); 
else 
    rbmDrink.setSelected(true); 
+0

Извините. Какой из них непонятен? Я все еще путаю то, что это правда или ложь. – enjeru

+0

@enjeru Это значение 'boolean', например' int', но оно может содержать только 'true' или' false' (да или нет). Когда вы используете 'if (rbMFood.isSelected()) {', 'isSelected' возвращает значение' boolean' 'true' или' false'. – MadProgrammer

0

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

private void showCategory() { 
    try { 
     cmbMCat.removeAllItems(); 
     Statement stmt; 
     stmt = con.createStatement(); 
     switch(type) { 
      case "Food": 
      rbMFood.setSelected(true); 
      break; 
      case "Drink"; 
      rbMDrink.setSelected(true); 
      break; 
     } 
     if (rbMFood.isSelected()) { 
      ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY02'"); 
      while (rs.next()) { 
       cmbMCat.addItem(rs.getString("menu_cat")); 
      } 

     } else { 
      ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY01'"); 
      while (rs.next()) { 
       cmbMCat.addItem(rs.getString("menu_cat")); 
      } 

     } 
    } catch (Exception e) { 
    } 
} 
+0

Я уже добавляю его, но как раньше. Радиокнопка не выбрана. – enjeru

0

При загрузке записи, вы должны иметь значение, которое может определить, какой тип данных является загружаемой, например type_id, кажется, используется, на основании которого выбирается JRadioButton.

Вы бы извлечь это значение из ResultSet и использовать либо if-else заявление или case заявление на определить, какой переключатель вы хотите выбран

String type = rs.getString("type_id") 
switch (type) { 
    case "TY01": 
     rbMDrink.setSelected(true); 
     break; 
    case "TY02": 
     rbMFood.setSelected(true); 
     break; 
    // Other possible cases... 
} 

Это предполагает, что JRadioButton s принадлежат одному и тому же ButtonGroup, поэтому выбор один отменит выбор другого.

Присмотритесь на How to Use Buttons, Check Boxes, and Radio Buttons для более подробной информации

+0

Я использую 'if (« Food ».equals (type)) {rbMFood.setSelected (true);}' и это работа. Но поле со списком все равно пустое. – enjeru

+0

Затем вам нужно позвонить 'showCategory' ПОСЛЕ того, что вы установили состояния' JRadioButton' ... – MadProgrammer

+0

как написать код? хе-хе. Я уже написал 'showCategory();' после этого, но не работал. – enjeru

Смежные вопросы