首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaFX PrinterJob打印随机字符,而不是常规文本

JavaFX是一个用于构建富客户端应用程序的开发工具包。PrinterJob是JavaFX中用于处理打印任务的类。它提供了一种简单的方式来打印文档、图形和其他可打印内容。

在JavaFX中,使用PrinterJob打印随机字符可以通过以下步骤实现:

  1. 创建一个PrinterJob对象:
代码语言:txt
复制
PrinterJob printerJob = PrinterJob.createPrinterJob();
  1. 检查打印任务是否被取消:
代码语言:txt
复制
if (printerJob != null && printerJob.showPrintDialog(null)) {
    // 打印任务未被取消
    // 继续下面的打印操作
} else {
    // 打印任务被取消
    return;
}
  1. 创建一个打印页面的可视化节点:
代码语言:txt
复制
Text randomText = new Text(generateRandomString());
randomText.setFont(Font.font("Arial", 12));
  1. 将可视化节点添加到打印页面中:
代码语言:txt
复制
Printer printer = printerJob.getPrinter();
PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginType.DEFAULT);
double printableWidth = pageLayout.getPrintableWidth();
double printableHeight = pageLayout.getPrintableHeight();

randomText.setWrappingWidth(printableWidth);
randomText.setTextAlignment(TextAlignment.CENTER);

double startX = (printableWidth - randomText.getBoundsInLocal().getWidth()) / 2;
double startY = (printableHeight - randomText.getBoundsInLocal().getHeight()) / 2;

printerJob.getJobSettings().setPageLayout(pageLayout);

printerJob.getJobSettings().setPrintable((pageIndex) -> {
    if (pageIndex != 0) {
        return false;
    }
    PrinterJob.getPrinterJob().getJobSettings().setPageLayout(pageLayout);
    PrinterJob.getPrinterJob().getJobSettings().setPrintable(null);
    return true;
}, pageLayout);

printerJob.getJobSettings().setPrintable((graphics, pageFormat, pageIndex) -> {
    if (pageIndex != 0) {
        return Printable.NO_SUCH_PAGE;
    }
    graphics.setFont(randomText.getFont());
    graphics.fillText(randomText.getText(), startX, startY);
    return Printable.PAGE_EXISTS;
}, pageLayout);
  1. 执行打印任务:
代码语言:txt
复制
boolean success = printerJob.printPage(pageLayout, randomText);
if (success) {
    printerJob.endJob();
} else {
    // 打印失败
}

这样,JavaFX的PrinterJob就可以用于打印随机字符了。

请注意,以上代码示例中的generateRandomString()方法用于生成随机字符,你可以根据自己的需求进行实现。

腾讯云相关产品中,与打印相关的服务可能不是主要的云计算产品,因此无法直接给出相关产品和产品介绍链接地址。但是,腾讯云提供了丰富的云计算产品和服务,如云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaFX 11发行说明

只要FX窗口工具包代码在Linux上使用GTK 3,就会发生这种情况,这是JavaFX 11的默认设置。 建议的解决方法是在运行JavaFX应用程序时使用Xorg服务器不是Wayland服务器。...中对sun.print的依赖 图像 JDK-8196617 在某些环境中,FX打印测试因NPE失败 图像 JDK-8198354 [macOS]单词包装标签中显示的损坏的泰语字符 图像 JDK-8201231...文件中缺少Classpath异常 图像 JDK-8207328 javafx.css.Stylesheet的API文档不准确/错误 图像 JDK-8209191 [macOS]扭曲的复杂文本渲染 图像...模块中使用系统记录器不是平台记录器 其他 JDK-8195800 消除对javafx模块中sun.reflect.misc的依赖 其他 JDK-8195974 将javafx中的java.util.logging...,WebView图像捕获因独立FX失败 web JDK-8203698 访问某些网站时,JavaFX WebView崩溃 web JDK-8204856 在PAGE_REPLACED事件之后,WebEngine

6.5K60

java 打印pdf_java打印pdf文件

实际上,SUN 公司也一直致力于 Java 打印功能的完善, Java2 平台则终于有了一个健壮的打印模式的开端, jdk1.4 则提供了一套完整的”Java 打印服务 API” (Java Print...其中 javax.print 包中主要包含打印服务的相关类, javax.print.event 则包含打印事件的相关定义,javax.print.attribute 则包括打印服务的可用属性列表等。...可以很好的解决打印JPG图片格式的需求。 优点:jdk的原生支持的打印功能,可直接使用,支持设置各项打印参数。 缺点:局限性较大,只能打印一些图片和文本格式的文件。...= null) { // 查找并设置打印机 //获得本台电脑连接的所有打印机 PrintService[] printServices = PrinterJob.lookupPrintServices(...= null) { // 查找并设置打印机 //获得本台电脑连接的所有打印机 PrintService[] printServices = PrinterJob.lookupPrintServices(

5.2K20

ApacheCN Java 译文集 20211012 更新

在公共类中使用访问方法不是公共属性 17. 最小化可变性 18. 组合优于继承 19. 要么设计继承并提供文档说明,要么禁用继承 20. 接口优于抽象类 21. 为后代设计接口 22....支持使用静态成员类不是非静态类 25. 将源文件限制为单个顶级类 26. 不要使用原始类型 27. 消除非检查警告 28. 列表优于数组 29. 优先考虑泛型 30. 优先使用泛型方法 31....优先使用 Collection 不是 Stream 来作为方法的返回类型 48. 谨慎使用流并行 49. 检查参数有效性 50. 必要时进行防御性拷贝 51. 仔细设计方法签名 52....13.2 基本程序片 13.3 制作按钮 13.4 捕获事件 13.5 文本字段 13.6 文本区域 13.7 标签 13.8 复选框 13.9 单选钮 13.10 下拉列表 13.11 列表框 13.12...二、工具、框架和环境 三、红绿重构——从失败到成功,直到完美 四、单元测试——关注你做了什么,不是已经做了什么 五、设计——如果它不可测试,那么它就设计得不好 六、模拟——删除外部依赖项 七、TDD

2.5K10

回顾Java 8 9 10的新特性,展望即将来临的11和明年的12【大牛经验】

有关其他 HTML5 特性(包括 Web 套接字、Web 辅助进程和 Web 字体) 增强了文本支持,包括双向文本、复杂文本脚本(如泰语和印地语控件)以及文本节点中的多行多样式文本。...这将使得停止单个线程变得可能和便宜,不是只能启用或停止所有线程。...如果这个 JarEntry 是一个多版本 jar 文件的入口,它被配置为这样处理,这个方法返回的名字是 JarEntry 所代表的版本条目的入口,不是 ZipEntry.getName() 返回的基本条目的路径名...(第24页)一个新的 Token,TypeIdentifier,它支持对局部变量类型推断的新用法, var 的使用不是关键字,而是一个具有特殊含义的标识符,作为局部变量声明的类型。...我建议你阅读规范中的这一部分,不是试图解释它。 第6.1节:声明(第134页)。一个反映使用 TypeIdentifier 来支持局部变量类型的推断的小改动。

3.2K30

JavaFX入门(五):使用CSS样式美化你的UI控件

CSS(层叠样式表,Cascading Style Sheets)原来是被用来在网页开发中表现HTML元素样式的一种文本标记语言。...CSS先后被用到Adobe的RIA开发技术Flex,C++的GUI框架Qt以及JavaFX技术上。如果对CSS不是很熟悉,没关系,十分钟入门CSS的一个教程:W3CSchool CSS教程。...其对应的命名为:将JavaFX的类名成首字母小写,如果是由多个单词拼接的类名,将每个单词原来大写的首字母小写然后用连字符将多个单词连接。...CSS中属性的命名规则是:以-fx开头,然后连接该类的属性,属性名称的单词首字母小写,然后用连字符连接拼接的属性单词。...; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.layout.GridPane

9.6K50

JavaFX WebView概述,很强大,内置了类似Electron的功能

来自 Murali Billa JavaFX技术人员的主要成员 在此博客中,我们将研究JavaFX如何渲染网页以及负责该网页的组件-即WebView JavaFX是: 用于创建和交付可在多种设备上运行的桌面应用程序以及富...在WebView中运行的JavaScript可以调用Java API,Java API可以调用在WebView中运行的JavaScript。...JavaFX中已添加了对其他HTML5功能的支持,包括Web套接字,Web Worker和Web字体,以及打印功能。...JavaFX WebView: JavaFX WebView  是一个微型浏览器(也称为嵌入式浏览器),它通过JavaFX  应用程序中的API提供Web查看器和完整的浏览功能  。...7.将   JavaScript值映射到Java对象: JavaScript值使用显而易见的Java类表示:null变为Java null;布尔值变为java.lang.Boolean; 字符串变成java.lang.String

10.2K41

2017年3月Java9带来的革新!

语句 217: 注解管道 2.0 219: 数据包传输层安全(DTLS) 220: 运行时图像模块化 221: 简化 Doclet API 222: jshell:Java Shell(读取-计算-打印循环...) 253: 为 JavaFX UI 控件和 CSS API 实现模块化 254: 压缩字符串 255: 将选择的 Xerces 2.11.0 更新到 JAXP中 256: BeanInfo 注解 257...: 将 JavaFX/Media 更新到更新版本的 GStreamer 258: HarfBuzz 字体布局引擎 259: 栈遍历 API 260: 封装大部分内部 API 261: 模块系统 262:...XML Catalogs 269: 为 Collections 提供方便的工厂方法 270: 为临界区预留栈资源 271: 统一 GC 日志 272: 提供平台相关的桌面应用功能 273: 基于确定性随机数产生器...应用打包模块化 276: 为对象模块语言提供动态链接 277: 改进 Deprecation 278: 为 G1 中的巨型对象进行额外测试 279: 改进定位故障测试发现的问题 280: Indify 字符串连接

96840

Java快速入门

(请确保您下载的是JDK,不是 JRE。)请查阅 安装说明。 文字编辑器 在此示例中,我们将使用Windows平台附带的简单编辑器记事本。...; // 打印字符串 } } 注释被编译器忽略,但对其他程序员有用。Java编程语言支持三种注释: /* text */ 编译器会忽略从/*到的所有内容*/。...; // 打印字符串 } } 如上所示,类定义的最基本形式是: class name { 。。。...3.3 main方法 以下粗体文本开始main方法的定义: /** * HelloWorldApp类实现了一个应用程序 * 打印“Hello World!”...; 使用System核心库中的类打印“ Hello World!”。 4 常见问题 4.1 编译器问题 错误:’javac’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

93910

JavaFX——(第一篇:介绍篇)

它包括JavaFX的高性能的图形引擎叫Prism;小高效的窗口系统,叫Glass;还有一个媒体引擎和一个web引擎。...虽然这些组件都不是公开的,但是它们的说明能帮助你更好的理解如何运行一个JavaFX应用程序。 ?            ...它还可以有如下属性: 效果,例如模糊和阴影 透明度 变换参数 事件处理(例如:鼠标、键盘和输入) 特定的应用状态 跟swing和AWT不同的是,JavaFX场景图有布局、图像和媒体等还有例如矩形和文本等...还有和AWT不同的是,Glass Toolkit运行一个JavaFX线程AWT运行一个线程、java运行一个线程。通过这种方式解决了很多问题。...您可以运行它作为一个独立的工具来创建您的UI布局和编辑结果FXML文件使用一个文本编辑器,你的选择。

5.6K60

Excel 基础篇

. ---- 本文将介绍Excel的日常操作以及基本公式 ---- 常用公式 Rand,生成0到1之间的随机数 语法:= rand() Len,文本函数求出参数的长度(每个字占1位) 语法:=len()...隐藏或显示Excel(Word)最上面的功能区: Ctrl+F1 设置文件自动保存时间: 文件 -- 选项 -- 保存 --- 设置保存间隔 设置新建excel文件的默认字体和字号: 文件 -- 选项 -- 常规...日期按年年年年-月月-日日,代码:yyyy-mm-dd 手机号分段,代码:000 0000 0000 数字1显示成1月,代码: 0"月" 批量增加相同字符,"字符"0 查找重复值: 选取数据列...-- 开始 -- 条件格式 --- 突出显示单元格规则 --- 重复值 打印标题行: 页面布局 -- 打印标题 -- 点顶端标题行后的折叠按钮,选取要打印的标题行。...多页强制打印到一页上: 页面布局 -- 打印标题 -- 页面 --- 调整为1页宽1页高 ---- Excel干的是技术活,不是体力活!

2.3K20

盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!

如果 Java GUI 库发展历程分为三代,可以是: AWT > SWING > JAVAFX 随着 JavaFx 的发布,加速 SWING 的被淘汰。下面这个是用 JavaFx 开发的: ?...图来源:zhihu.com/question/54498643/answer/271632290 现在 JavaFx 也有十来年了,虽然这篇帖子也在说 JavaFx 淘汰了的,只是现在桌面应用不是主流吧...,我也没用过不敢乱说,JavaFx 在桌面应用开发应该还是有一席之地的。... Redis 使用的是单线程模型,没有锁竞争,速度非常快。 相关阅读:Redis 到底是单线程还是多线程?... Redis 支持 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(sorted set:有序集合) 等……丰富的数据类型可以让 Redis 在业务上大展拳脚。

1.6K60

JavaFX之Scene Builder的使用(开发一款GUI小工具原来这么简单)

二、JavaFX与Scene Builder下载 从JDK11的发布开始,JavaFX已经不被包含在JDK中了。为了方便大家使用,可以直接使用JDK8。...7.别忘了点保存啊,点击File,然后点击save,然后我们之前创建的fxml文件就会自动补代码~~是不是很方便 8.原来的fxml文件就加入了button标签,还有对应的属性 4.4 运行我们的程序...javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage...初始化一些比如数据库数据表之类的东西 执行程序的顺序是 init() -> start() -> stop(),我们入口类Main就是继承了Application抽象类,并重写了它的start()方法,Controller...拿上面的按钮例子来解释一下标签中的属性是干嘛的吧~ fx:id指的就是这个控件的id值,为的是在Controller类中控制这个控件 onAction指的是点击这个按钮就能实现什么功能 text指的就是这个按钮的文本

7.6K31

Visual Studio 2008 每日提示(三)

启用设置方法,菜单:工具+设置+文本编辑器+常规,选中“修订”项,并同时选中“选定内容的边距”。...+所有语言+常规,选中“显示”中“行号”项。...如果你只想特定的语言显示或不显示行号,可以这样设置:工具+选项+文本编辑器++常规,自己来选择显示或不显示。这个设置会覆盖上面的全局设置。 评论:显示行号对于查找错误的代码行非常有用。...如果你想让这个设置生效的话,不能启用”文本编辑器“的”指示器边距“选项,方法如下,菜单:工具+选项+文本编辑器+常规,在”显示“选项里不选中指示器边距“。...如果启用了,就只会显示书签的图标,图标的是无法改变颜色的。 评论:我觉得书签的作用就是为了查找,不必改变什么颜色,用书签图标来显示比较清爽

1.2K30

Go语言之父带你重新认识字符串、字节、rune和字符

const sample =“ .bd.b2.3d.bc.20.e2.8c.98” 打印字符串 由于字符串常量 sample 中的某些字节不是有效的 ASCII,甚至不是有效的 UTF-8,因此直接打印字符串将产生诡异的输出...,不是字符。...UTF-8和字符串直接量 如我们所见,索引字符串会产生其字节,不是字符字符串只是一堆字节。这意味着,当我们将字符存储在字符串中时,将存储其字节表示。...同样,除非它包含上一节中提到的转义符,否则常规字符串文字也将始终包含有效的 UTF-8 文本。 有人认为 Go 字符串始终是 UTF-8 编码格式的,但不是:只有字符串直接量才始终是 UTF-8 的。...结论 现在回答开始时提出的问题:字符串是由字节构建的,因此对它们进行索引将生成字节,不是字符字符串甚至可能不包含字符

83420

Java平台,标准版Oracle JDK 9中的新功能

该hprof剂被写为JVM工具界面演示代码,不是旨在成为一种生产工具。 hprof代理的有用功能已被更好的替代品所取代。...JEP 254:紧凑型字符串 对字符串采用更节省空间的内部表示。以前,String类在char数组中存储字符,每个字符使用两个字节(16位)。...符号 二进制和八进制文本 模板字符串 let,const和块范围 迭代器和for..of循环 Map,Set,WeakMap和WeakSet 符号 二进制和八进制文本 JDK 9中客户端技术的新功能...因此,您可以更容易地直接在Bean类中指定这些属性,不是为每个Bean类创建一个单独的BeanInfo类。它还可以删除自动生成的类,这使得更容易模块化客户端库。...处理打开或打印文件列表的请求。 处理打开URL的请求。 打开本机帮助查看器应用程序。 设置默认菜单栏。 启用或禁用应用程序突然终止。

1.6K70

昨晚上群友问我,你知道啥是文件吗?于是就有了今天的文章

名为 file.txt 的文件是文本文件,这个文件名更多的是提醒所有者,不是给计算机传递信息。但是另一方面,C 编译器可能要求它编译的文件以.c 结尾,否则它会拒绝编译。...用户一般使用的文件大都是常规文件,常规文件一般包括 可执行文件、文本文件、图像文件,从常规文件读取数据或将数据写入时,内核会根据文件系统的规则执行操作,写入可能被延迟,记录日志或者接受其他操作。...字符特殊文件和输入/输出有关,用于串行 I/O 类设备,如终端、打印机、网络等。块特殊文件用于磁盘类设备。我们主要讨论的是常规文件。 常规文件一般分为 ASCII 码文件或者二进制文件。...ASCII 文件的优点在于显示 和 打印,还可以用任何文本编辑器进行编辑。...当存储介质是磁带不是磁盘时,顺序访问文件很方便。 在使用磁盘来存储文件时,可以不按照顺序读取文件中的字节或者记录,或者按照关键字不是位置来访问记录。

66620

Java 中文官方教程 2022 版(三)

它们与类关联,不是与任何对象关联。类的每个实例共享一个类变量,它在内存中的一个固定位置。任何对象都可以更改类变量的值,但也可以在不创建类的实例的情况下操作类变量。...该示例使用匿名类表达式不是使用新类来实现此方法。请注意,此表达式是传递给btn.setOnAction方法的参数。...以下 JavaFX 示例来自自定义 UI 控件部分。突出显示的代码创建一个仅接受数字值的文本字段。...在此示例中,Consumer对象是一个打印字符串的 Lambda 表达式,该字符串是由Function对象返回的电子邮件地址。 您可以用聚合操作替换每个这些操作。...聚合操作处理来自流的元素,不是直接来自集合(这就是为什么此示例中调用的第一个方法是stream的原因)。流是元素的序列。与集合不同,它不是存储元素的数据结构。相反,流通过管道从源(例如集合)传递值。

16400
领券