刷新锚窗格 javafx
refreshing anchorpane javafx
我有一个 Anchorpane 包含一些标签、文本字段和 buttons.A 单击 button.After 选择名称和 ID 会打开新的 window从新 window 开始,在键盘 window 上按下 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_bill 控制器中得到了传递值,如下所示
public void setDataCustomer(String name, String cutmrId) {
Item_bill.customerName = name;
Item_bill.customerId = cutmrId;
}
只有在再次调用 initialize() 方法后才会设置值。
如何在不再次调用 initialize() 方法的情况下解决这个问题?
谁能帮帮我。谢谢。
最后我解决了这个问题,
我引用了名为 custmrNameDummy 和 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));
}
它对我有用。
不幸的是来不及帮助您解决上述问题,但我遇到了相同/类似的问题,但我解决了它:-)
首先对我的问题做一个简短的解释:
我有三个 TableView:
("tblPreviousResults", "tblTotalStatistics", "tblAvailableCategories")
所有 table 都位于一个 AnchorPane 上,我想根据 CheckBoxTableCell(位于 TableView "tblAvailableCategories" 中)是否触发 TableView "tblPreviousResults" 上的更新是否被选中。
我的第一次尝试(一如既往):
tblPreviousResults.setItems(FXCollections.observableArrayList(newPreviousResults));
tblPreviousResults.refresh();
但是直到我直接选择/聚焦 table,newPreviousResults 才出现。
现在我有了解决问题的方法:
tblPreviousResults.getParent().requestFocus();
也许我可以帮助别人 :-)
我有一个 Anchorpane 包含一些标签、文本字段和 buttons.A 单击 button.After 选择名称和 ID 会打开新的 window从新 window 开始,在键盘 window 上按下 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_bill 控制器中得到了传递值,如下所示
public void setDataCustomer(String name, String cutmrId) {
Item_bill.customerName = name;
Item_bill.customerId = cutmrId;
}
只有在再次调用 initialize() 方法后才会设置值。 如何在不再次调用 initialize() 方法的情况下解决这个问题?
谁能帮帮我。谢谢。
最后我解决了这个问题, 我引用了名为 custmrNameDummy 和 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));
}
它对我有用。
不幸的是来不及帮助您解决上述问题,但我遇到了相同/类似的问题,但我解决了它:-)
首先对我的问题做一个简短的解释:
我有三个 TableView:
("tblPreviousResults", "tblTotalStatistics", "tblAvailableCategories")
所有 table 都位于一个 AnchorPane 上,我想根据 CheckBoxTableCell(位于 TableView "tblAvailableCategories" 中)是否触发 TableView "tblPreviousResults" 上的更新是否被选中。
我的第一次尝试(一如既往):
tblPreviousResults.setItems(FXCollections.observableArrayList(newPreviousResults)); tblPreviousResults.refresh();
但是直到我直接选择/聚焦 table,newPreviousResults 才出现。
现在我有了解决问题的方法:
tblPreviousResults.getParent().requestFocus();
也许我可以帮助别人 :-)