История изменений
Исправление Bioreactor, (текущая версия) :
Простите, а какой у Вас полный код?
У меня вот такой код (а упростил свой пример, выкинув все лишнее) работает корректно.
import javafx.application.*;
import javafx.event.*;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javax.swing.*;
import javafx.embed.swing.*;
import java.awt.event.*;
public class SwingFx8 extends Application {
private JButton b = new JButton("Exit");
@Override
public void start(Stage stage) {
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode);
StackPane pane = new StackPane();
pane.getChildren().add(swingNode);
stage.setScene(new Scene(pane, 300, 100));
stage.setTitle("Swing exit test");
stage.show();
}
private void createAndSetSwingContent(final SwingNode swingNode) {
b.addActionListener(e -> System.exit(0));
SwingUtilities.invokeLater(() -> {swingNode.setContent(b); });
}
public static void main(String[] args) {
launch(args);
}
}
Исходная версия Bioreactor, :
Простите, а какой у Вас полный код?
У меня вот такой код (а упростил свой пример, выкинув все лишнее) работает корректно.
import javafx.application.*;
import javafx.event.*;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javax.swing.*;
import javafx.embed.swing.*;
import java.awt.event.*;
public class SwingFx8 extends Application {
private JButton b = new JButton("Exit");
@Override
public void start(Stage stage) {
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode);
StackPane pane = new StackPane();
pane.getChildren().add(swingNode);
stage.setScene(new Scene(pane, 300, 100));
stage.setTitle("Swing exit test");
stage.show();
}
private void createAndSetSwingContent(final SwingNode swingNode) {
b.addActionListener(e -> System.exit(0));
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
swingNode.setContent(b);
}
});
}
public static void main(String[] args) {
launch(args);
}
}