У меня есть простое приложение Spring Boot + JavaFX 8, например:
package com;
import javafx.application.Application;
import javafx.print.PrinterJob;
import javafx.stage.Stage;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class Main extends Application {
protected ConfigurableApplicationContext springContext;
public static void main(final String[] args) {
Application.launch(args);
}
@Override
public void init() {
springContext = springBootApplicationContext();
}
@Override
public void start(final Stage stage) {
// Create the PrinterJob
PrinterJob job = PrinterJob.createPrinterJob();
if (job == null)
{
return;
}
// Show the page setup dialog
boolean proceed = job.showPageSetupDialog(stage);
if (proceed)
{
System.out.println("SUCCESS");
}
}
@Override
public void stop() {
springContext.close();
}
private ConfigurableApplicationContext springBootApplicationContext() {
SpringApplicationBuilder builder = new SpringApplicationBuilder(Main.class);
String[] args = getParameters().getRaw().toArray(new String[0]);
return builder.run(args);
}
}
Проблема в том, что оно печатает SUCCESS
, не показывая настройки страницы вообще, независимо от ОС (сейчас яработает на Linux).Пример из здесь (раздел 5. Отображение диалогов печати), однако, работает как задумано.Почему мое приложение Spring Boot не работает, в то время как второй пример работает?