单选按钮使用什么setter?

时间:2015-05-07 04:22:41

标签: java swing jcombobox jradiobutton

我的值来自数据库(mysql)。

如果在文本字段中,会出现这样的情况: txtMID.setText("" + rs.getString("menu_id"));

在这样的组合框中? cmbMCat.setSelectedItem("" + rs.getString("menu_cat"));

单选按钮怎么样?我认为使用 if-else condition 。但我没有如何编写代码

我的单选按钮在编码结束时设置: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";

这是我的showCategory();

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问我的问题是否因为我的英语不好而让你困惑。

3 个答案:

答案 0 :(得分:1)

嗨首先,你的问题不明确。以下建议是基于我对您的问题的理解。
在加载您的应用程序时,您希望根据来自数据库(mysql)的数据初始化UI组件。
因此,您将获得一个字段关于来自数据库的单选按钮的真或假

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

答案 1 :(得分: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) {
    }
}

答案 2 :(得分:0)

加载记录时,您应该有一个值可以确定要加载的数据类型,例如where似乎根据选择的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,因此选择一个将取消选择另一个。

仔细查看How to Use Buttons, Check Boxes, and Radio Buttons了解更多详情