首页
学习
活动
专区
工具
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.6K60

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.3K20
  • 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.3K30

    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

    10.1K50

    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

    11.4K41

    Java快速入门

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

    97010

    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 字符串连接

    99340

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

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

    5.9K60

    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

    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指的就是这个按钮的文本

    9.7K31

    Visual Studio 2008 每日提示(三)

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

    1.2K30

    盘点 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.7K60

    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 的。...结论 现在回答开始时提出的问题:字符串是由字节构建的,因此对它们进行索引将生成字节,不是字符字符串甚至可能不包含字符

    87420

    【Linux】第一个小程序——进度条实现

    \n(换行符): 【定义】:\n表示换行符,其英文全称是newline,控制字符可以写成LF(Line Feed)。它将光标移动到下一行的开头位置,常用于分隔文本的不同行。...【功能】:在Linux系统中,\n通常用于表示文本的换行。当新的字符输入时,它们会在新的行上输出。这使得文本内容更加清晰、易读。...如果有新的字符输入,它们将覆盖已存在的字符。这使得在同一行内更新文本内容成为可能。 在制作进度条等动态文本输出时,\r非常有用。通过不断更新同一行的内容,可以创建出动态的视觉效果。...; // 对于非终端设备,如文件,直接打印文本 } return 0; } 在这个例子中,如果运行程序的是一个终端,它会显示红色的"Hello, World!"...  我们需要使用随机数来模拟一次下载的进度,然后累加到进度条中不是一直维持一个速度下载,代码如下: 然后我们就可以使用随机数模拟下载了,结果如下: 然后就可以利用每次的下载量比例更新进度条,代码如下

    10110

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

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

    68520

    Avalonia:可信创.NET 跨平台UI,让JAVA失业者转.NET信创开发!

    ViewModel处理所有的业务逻辑和状态管理,View只负责显示数据和捕获用户输入。这种分离使得代码更加模块化和易于维护。...Avalonia vs WPF 作为一个前JAVA开发者,你可能会问:为什么选择Avalonia不是更成熟的WPF?...使用了Command模式处理按钮点击,不是事件处理器。 这个例子展示了从JAVA/JavaFX到C#/Avalonia的转换过程。...15.10 AvaloniaEdit AvaloniaEdit是一个基于Avalonia的高性能文本编辑器控件。它支持语法高亮、代码折叠等高级功能,非常适合用于开发代码编辑器或富文本编辑器。...尽可能使用数据绑定来连接你的UI和ViewModel,不是手动更新UI元素。

    1.6K20
    领券