Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据表中选定的行设置JavaFX选择框中的文本_Java_Events_Javafx_Getselection - Fatal编程技术网

如何根据表中选定的行设置JavaFX选择框中的文本

如何根据表中选定的行设置JavaFX选择框中的文本,java,events,javafx,getselection,Java,Events,Javafx,Getselection,我正在使用JavaFx开发一个票务系统。当用户在表中选择特定票据并单击“编辑”按钮时,所选行中的数据将加载到下表中的相应字段中。然后,用户可以进行更改并更新信息 但是,我在计算如何将“状态”和“严重性”选项框中的文本设置为所选行中的文本时遇到了问题。这是迄今为止我为“编辑”按钮编写的代码: @FXML private void editButtonFired(ActionEvent event) { try { int value = table

我正在使用JavaFx开发一个票务系统。当用户在表中选择特定票据并单击“编辑”按钮时,所选行中的数据将加载到下表中的相应字段中。然后,用户可以进行更改并更新信息

但是,我在计算如何将“状态”和“严重性”选项框中的文本设置为所选行中的文本时遇到了问题。这是迄今为止我为“编辑”按钮编写的代码:

@FXML
    private void editButtonFired(ActionEvent event) {
        try {
            int value = table.getSelectionModel().getSelectedItem().getTicketNum();

            JdbcRowSet rowset = RowSetProvider.newFactory().createJdbcRowSet();
            rowset.setUrl(url);
            rowset.setUsername(username);
            rowset.setPassword(password);
            rowset.setCommand("SELECT * FROM s_fuse_ticket_table WHERE ticket_id = ?");
            rowset.setInt(1, value);
            rowset.execute();



            while(rowset.next()) {
                ticketNumber.setText(rowset.getString(1));
                summary.setText(rowset.getString(2));
            }
        }catch (SQLException e){

        }
    }
我尝试使用.setSelectionModel()方法,但没有成功。有人能帮我吗? 谢谢大家!

调用以设置选择框的值:

import javafx.scene.control.ChoiceBox;

ChoiceBox cb = new ChoiceBox();
cb.getItems().addAll("item1", "item2", "item3");
cb.setValue("item2");
对后续问题的答复

因此,我已经在fxml中设置了选择框的值

可能不会。可能您已经设置了项目,而不是值(这很好)。对于您的用例,您无法在FXML中设置该值,因为在用户选择主表中的相关行项目之前,该值是未知的

当我尝试使用setValue()方法设置从表中检索到的值时,我得到一个错误:不兼容的类型:
String无法转换为CAP#1,其中CAP#1是一个新的类型变量:CAP#1从捕获扩展对象

我以前从未遇到过这样的错误消息。至于它的价值,这里有一些信息:,虽然我承认我没有直接看到它与你的情况的相关性。我的猜测是,您没有为ChoiceBox定义项的类型,或者将它们定义为字符串以外的内容。可以使用以下命令显式设置类型:

ChoiceBox<String> cb = new ChoiceBox<>();
ChoiceBox cb=new ChoiceBox();
当您使用FXML时,choicebox定义将不使用new关键字,只与以下内容类似:

@FXML
ChoiceBox<String> cb;
@FXML
选择框cb;
如果ChoiceBox的类型不是字符串,则可能需要在其上添加


您的问题中有太多未知数,无法提供更具体的答案。

谢谢您的回答!因此,我已经在fxml中设置了选择框的值。我使用行集从表中获取值。当我尝试使用setValue()方法设置从表中检索到的值时,我得到一个错误:不兼容的类型:字符串无法转换为CAP#1,其中CAP#1是一个新的类型变量:CAP#1从捕获扩展对象?非常感谢!这只是我错过的一件傻事。我没有将选择框的类型设置为字符串。不好意思,非常感谢你指出这一点。