在JavaFX中,可以使用PrinterJob类来实现打印功能。下面是一个简单的示例代码,演示如何在JavaFX应用程序中打印:
import javafx.application.Application;
import javafx.print.PrinterJob;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Button printButton = new Button("Print");
printButton.setOnAction(event -> {
PrinterJob printerJob = PrinterJob.createPrinterJob();
if (printerJob != null && printerJob.showPrintDialog(primaryStage)) {
Node node = new Button("Printed Content");
VBox root = new VBox(node);
Scene scene = new Scene(root, 200, 200);
printerJob.printPage(node);
printerJob.endJob();
}
});
VBox root = new VBox(printButton);
Scene scene = new Scene(root, 400, 400);
primaryStage.setTitle("Print Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上面的示例中,创建了一个简单的JavaFX应用程序,包含一个按钮,当点击按钮时,会弹出打印对话框,并打印按钮上的文字内容。通过PrinterJob类的printPage方法可以实现打印操作。