Con PrinterJob di JavaFx è possibile chiamare la finestra di dialogo Stampa. Il mio problema è che il dialogo quando si chiama non viene in primo piano.La finestra di dialogo di stampa non viene visualizzata in anteprima
Ecco il mio esempio:
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);
}
}
Il secondo problema: il telaio non è modale, quindi può portare ad errori.
Informazioni: utilizzo Java 8_92.
Non posso accendere la finestra di dialogo Stampa. – espirio