Как распечатать SwingNode с помощью JavaFX printJob?

Я пытаюсь напечатать кадр, содержащий кнопку поворота, используя следующий код. Кнопки javafx печатаются, но не кнопки поворота. Здесь нет исключений. Я могу печатать кнопки Javafx, но не могу печатать JButoon.

public class PrintWindow extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        final AnchorPane root = new AnchorPane();
        HBox hbox = new HBox();
        hbox.setPadding(new Insets(15, 12, 15, 12));
        hbox.setSpacing(10);
        hbox.setStyle("-fx-background-color: #336699;");

        Button buttonCurrent = new Button("Current");
        buttonCurrent.setPrefSize(100, 20);

        Button buttonProjected = new Button("Print");
        buttonProjected.setPrefSize(100, 20);
        final SwingNode swingNode = new SwingNode();
        swingNode.setContent(new JButton("JButton"));

        hbox.getChildren().addAll(buttonCurrent, buttonProjected, swingNode);
        root.getChildren().add(hbox);
        root.setPrefSize(800, 500);

        buttonProjected.setOnAction(new EventHandler<ActionEvent>() {
            public void handle(ActionEvent event) {
                print(root);
            }
        });
        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.setTitle("A Printing Nodes Example");
        stage.show();
    }

    private void print(Node node) {
        PrinterJob job = PrinterJob.createPrinterJob();
        boolean printed = job.printPage(node);
        if (printed) {
            job.endJob();
        }
    }
}

введите описание изображения здесь

Когда я нажимаю кнопку печати в окне выше, кнопки Current и Print печатают, JButton не печатает.

0 ответов

Другие вопросы по тегам