从JavaFx按钮关闭JDialog
我需要从FXML文件中定义的JavaFx按钮关闭JDialog。 我发布了主应用程序调用的类的代码: ExampleWindow.java } 方法onAction由FXML文件上的JavaFx按钮调用 WindowControlPanel.fxml从JavaFx按钮关闭JDialog,java,swing,javafx-2,Java,Swing,Javafx 2,我需要从FXML文件中定义的JavaFx按钮关闭JDialog。 我发布了主应用程序调用的类的代码: ExampleWindow.java } 方法onAction由FXML文件上的JavaFx按钮调用 WindowControlPanel.fxml 当我按下closeButton时,方法onAction被正确调用,但我的JDialog没有关闭。有什么想法吗?我错在哪里?您可以尝试使用Window[]allWindows=Window.getWindows从JVM获取JDialog吗;谢谢你的回
当我按下closeButton时,方法onAction被正确调用,但我的JDialog没有关闭。有什么想法吗?我错在哪里?您可以尝试使用Window[]allWindows=Window.getWindows从JVM获取JDialog吗;谢谢你的回答!这很有效,但这不是我想要的。我需要控制这个单独的类,JavaFx不是我喜欢的…在这个例子中,没有使用FXML别忘了检查邮件的预览,以确保它按预期显示!实际上,由于缩进不足,只显示XML的第1行。
public class ExampleWindow extends JDialog
{
@FXML
Button closeButton;
public ExampleWindow()
{
}
public void initAndShowGUI()
{
final JFXPanel fxPanel = new JFXPanel();
add(fxPanel);
Platform.runLater(new Runnable()
{
@Override
public void run()
{
AnchorPane parent = null;
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setRoot(this);
try {
parent = fxmlLoader.load(getClass().getResource("WindowControlPanel.fxml"));
}
catch (IOException e) {
e.printStackTrace();
}
scene = new Scene(parent);
fxPanel.setScene(scene);
}
});
}
public void onAction(ActionEvent ac)
{
this.dispose();
}
<AnchorPane id="AnchorPane" fx:id="windowPanel" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="1024.0" style="-fx-border-color: white, grey; -fx-border-width: 2, 1; -fx-border-insets: 0, 0 1 1 0" xmlns:fx="http://javafx.com/fxml" fx:controller="ExampleWindow">
<children>
<FlowPane alignment="CENTER_RIGHT" columnHalignment="CENTER" prefHeight="50.0" prefWidth="1024.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<Button fx:id="closeButton" mnemonicParsing="false" onAction="#onAction" prefHeight="35.0" prefWidth="100.0" text="Close">
<FlowPane.margin>
<Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
</FlowPane.margin>
</Button>
</children>
</FlowPane>
</children>
</AnchorPane>