我打开次要时间时Javafx应用程序对话框未关闭

我正在用此代码打开对话框,该代码在我的主控制器中名为InvoicecreationController。当我第一次打开对话框并选择一行并按Enter键时,它将关闭。但是,当我第二次打开它时,它没有关闭。

public void openitemsearchPopWindow(){
    try {
        FXMLLoader loader = new FXMLLoader(getclass().getResource("/accApp/customers/newinvoice/modals/ItemSearchResults.fxml"));
        Parent root = loader.load();
        ItemSearchResultsController enteritemNameforsearchController = loader.getcontroller();
        enteritemNameforsearchController.getupdateinvoiceController(this);

        Stage stageSearchedSupplier = new Stage();
        stageSearchedSupplier.setScene(new Scene(root));           
        stageSearchedSupplier.initModality(Modality.APPLICATION_MODAL);
        stageSearchedSupplier.initOwner(customername.getScene().getWindow());
        stageSearchedSupplier.initStyle(StageStyle.UNDECORATED);            
        stageSearchedSupplier.show();
    } catch (IOException ex) {
         Logger.getLogger(invoicecreationController.class.getName()).log(Level.SEVERE,null,ex);
    }
}

我的对话框控制器代码如下。

@FXML
public TableView<Itemnames> seachedresultsTable;

@FXML
public TableColumn<Itemnames,String> itemnameCol;

@FXML
public TextField searchtextfield;

@FXML
public AnchorPane rootPane;

private invoicecreationController invoicecreationcontroller;

public void getupdateinvoiceController(invoicecreationController invoicecreationcontroller) {
    this.invoicecreationcontroller = invoicecreationcontroller;
}

@Override
public void initialize(URL url,ResourceBundle rb) {
    seachedresultsTable.widthProperty().addListener(new changelistener<Number>() {

        @Override
        public void changed(ObservableValue<? extends Number> observable,Number oldValue,Number newValue) {

            TableHeaderRow header = (TableHeaderRow) seachedresultsTable.lookup("TableHeaderRow");
            header.reorderingProperty().addListener(new changelistener<Boolean>() {
                @Override
                public void changed(ObservableValue<? extends Boolean> observable,Boolean oldValue,Boolean newValue) {
                    header.setReordering(false);
                }
            });
        }
    });

    seachedresultsTable.setOnKeypressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {

            if (event.getcode() == KeyCode.ENTER) {
                String myIndex = seachedresultsTable.getSelectionmodel().getSelectedItem().getName();
                if (!"".equals(myIndex)) {
                    invoicecreationcontroller.updatetableCell(myIndex);
                    Stage stage = (Stage) searchtextfield.getScene().getWindow();
                    stage.close();
                }
            }
        }
    });
    itemnameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
    loadItemNames();
}
private ObservableList<Itemnames> data;
List<Itemnames> itemnameList;
y2t18wtf 回答:我打开次要时间时Javafx应用程序对话框未关闭

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2709623.html

大家都在问