我尝试将</store>
<store>
@type elasticsearch
host X.X.X.X
port 9200
logstash_format false
index_name updatetest.%Y%m%d --> In index name its not replacing with date
</store>
组件添加到Swing
应用程序中。我用JavaFX
创建了SwingNode
对象,但没有将此元素添加到主JButton
中。关闭主阶段后,应用程序保持运行状态。我需要做些什么来解决此问题?
此处示例:
Scene
答案 0 :(得分:0)
我不知道为什么会这样,但是我可以给您一些肮脏的解决方案来修复它。如果您创建SwingNode
且未将其添加到Scene
,则应用程序在关闭后仍保持运行状态。因此,您需要将SwingNode
添加到Scene
,但大小为零。这必须解决您的问题。
示例:
public class SwingFx extends Application {
@Override
public void start(Stage stage) {
// create pane with SwingNode
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode);
StackPane paneWithSwing = new StackPane(swingNode);
// create invisible pane to initialize SwingPane in Scene
Pane invisiblePane = new Pane(paneWithSwing);
invisiblePane.setPrefWidth(0);
invisiblePane.setPrefHeight(0);
invisiblePane.setOpacity(0);
// create Scene without visible SwingPane
Button button = new Button("Set SwingNode");
button.setOnAction(event -> {
invisiblePane.getChildren().clear();
stage.getScene().setRoot(paneWithSwing);
});
StackPane originalPane = new StackPane(invisiblePane, button);
stage.setScene(new Scene(originalPane, 320, 180));
stage.show();
}
private void createAndSetSwingContent(final SwingNode swingNode) {
SwingUtilities.invokeLater(() -> swingNode.setContent(new JButton("Click me!")));
}
public static void main(String[] args) {
launch(args);
}
}