Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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
刷新AnchorpaneJavaFX_Java_Javafx 2_Scenebuilder - Fatal编程技术网

刷新AnchorpaneJavaFX

刷新AnchorpaneJavaFX,java,javafx-2,scenebuilder,Java,Javafx 2,Scenebuilder,我有一个Anchorpane,包含一些标签、文本字段和按钮。单击按钮会打开一个新窗口。从新窗口中选择名称和id后,按键盘窗口中的Enter按钮会关闭,名称和id会传递给已打开的Anchorpane。我必须在Anchorpane的标签上设置名称和id。我得到的值,但它没有设置在标签,而不刷新锚烷 如何在不按下任何按钮加载锚烷的情况下再次刷新锚烷。我看到了类似的问题,但对我来说没有任何效果 我传递的数据如下 FXMLLoader load = new FXMLLoader();

我有一个Anchorpane,包含一些标签、文本字段和按钮。单击按钮会打开一个新窗口。从新窗口中选择名称和id后,按键盘窗口中的Enter按钮会关闭,名称和id会传递给已打开的Anchorpane。我必须在Anchorpane的标签上设置名称和id。我得到的值,但它没有设置在标签,而不刷新锚烷

如何在不按下任何按钮加载锚烷的情况下再次刷新锚烷。我看到了类似的问题,但对我来说没有任何效果

我传递的数据如下

FXMLLoader load = new FXMLLoader();
                    try {
                        Pane root = load.load(getClass().getResource(FXML_CTRL_BILL).openStream());
                        Item_bill bill = load.getController();
                        bill.setDataCustomer(name, id);

                    } catch (IOException e) {
                        e.printStackTrace();
                    }
我在我的Item_账单控制器中获得了传递值,如下所示

public void setDataCustomer(String name, String cutmrId) {

    Item_bill.customerName = name;
    Item_bill.customerId = cutmrId;

}
仅在再次调用initialize()方法后才设置值。 如果不再次调用initialize()方法,如何解决此问题


有人能帮我吗。谢谢。

最后我解决了这个问题, 我引用了名为custmrnamemdummy和idLabelDummy的标签

@FXML
private Label custmrName;
public static Label custmrNameDummy;
@FXML
private Label idLabel;
public static Label idLabelDummy;
static String customerName = null;
static String customerId = null;


public void initialize(URL location, ResourceBundle resources) {

    custmrNameDummy=custmrName;
    idLabelDummy=idLabel;


}


public static void setDataCustomer(String name, String cutmrId) {

    Item_bill.customerName = name;
    Item_bill.customerId = cutmrId;

    custmrNameDummy.setText(customerName);
    idLabelDummy.setText(String.valueOf(customerId));

}

这对我来说很有效。

不幸的是,为了帮助您解决上述问题,已经太晚了,但我遇到了同样的问题,我解决了它:-)

首先,简要解释一下我的问题:

我有三个桌面视图:

(“TBLPPreviousResults”、“tblTotalStatistics”、“tblAvailableCategories”)

所有表都位于一个锚点上,我想根据是否选中CheckBoxTableCell(位于TableView“tblAvailableCategories”中)触发TableView“TBLPPreviousResults”的更新

我的第一次尝试(就像我一直做的那样):

TBLPPreviousResults.setItems(FXCollections.observableArrayList(newPreviousResults)); tblppreviousresults.refresh()

但是,直到我直接选择/聚焦表格后,新的先前结果才出现

现在我有了一个解决问题的解决方案:

TBLPPreviousResults.getParent().requestFocus()


也许我可以帮助某人:-)

你能举一个小例子,说明如何将值传递给主播吗?我认为,如果您还没有使用,
observeValue
,您的问题可能会得到解决。您需要“刷新”
AnchorPane
,这是什么意思???您只需修改该
AnchorPane
中现有
Label
s的
text
属性即可。这就是“刷新”这些节点所需要的一切…@fabian-我想设置那个主播的标签中的值。但是这些值只有在再次加载窗格后才进行设置。意味着我必须再次调用initialize()方法。