The JavaFxJob printer can call up the print dialog. My problem is that the dialog when calling does not come to the fore.
Here is my example:
import javafx.application.Application; import javafx.print.Printer; import javafx.print.PrinterJob; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class Printexample extends Application { @Override public void start( final Stage primaryStage ) { final PrinterJob job = PrinterJob.createPrinterJob( Printer.getDefaultPrinter() ); final Button b = new Button( "Print Dialog" ); b.setOnAction( event -> job.showPrintDialog( primaryStage ) ); final BorderPane pane = new BorderPane( b ); primaryStage.setMinWidth( 400 ); primaryStage.setMinHeight( 300 ); primaryStage.setTitle( "Print" ); final Scene scene = new Scene( pane ); primaryStage.setScene( scene ); primaryStage.centerOnScreen(); primaryStage.addEventFilter( KeyEvent.KEY_PRESSED, event -> { if ( event.getCode().equals( KeyCode.ESCAPE ) ) { primaryStage.close(); } } ); primaryStage.show(); } public static void main( final String[] args ) { launch( args ); } }
The second problem: the frame is not modal, so it can lead to errors.
Info: I am using Java 8_92.
source share