【发布时间】:2018-09-26 19:22:07
【问题描述】:
我有一个简单的 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)。但是,here 的示例(第 5 节。显示打印对话框)按预期工作。为什么我的 Spring Boot 应用程序无法运行,而第二个示例运行?
【问题讨论】:
标签: java spring-boot javafx printing