<div dir="ltr"><div dir="ltr"><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular""><strong style="margin-top:0px;margin-bottom:0px">Dear OpenJDK Community,</strong></p><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">I'm writing regarding an observation about the PrintDialog's Properties button behavior on Linux platforms. On my Ubuntu 20.04 system (OpenJDK version: 17), I noticed that the Properties button in the print dialog remains disabled.</p><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">Through previous research, I found this is documented in JDK-8246742 ("Disable Properties button in PrintDialog for Unixes and Mac"). The ticket suggests this behavior was intentionally implemented.</p><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">But from a user perspective, this disabled state raises some concerns:</p><ol style="list-style-type:none;padding-left:24px;color:rgba(0,0,0,0.86);font-family:"PingFang SC","Microsoft YaHei","Arial Regular";font-size:14px"><li style="margin:0px 0px 3px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">1.</span>Users familiar with Windows implementation may find this inconsistent</li><li style="margin:3px 0px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">2.</span>Prevents access to printer-specific options that might otherwise be configurable</li><li style="margin:3px 0px 0px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">3.</span>Could be confusing for applications relying on this functionality</li></ol><div><span style="color:rgb(23,43,77);font-family:"DejaVu Sans",sans-serif;font-size:14px">Reproducer:</span><br style="color:rgb(23,43,77);font-family:"DejaVu Sans",sans-serif;font-size:14px">import java.awt.*;<br>import java.awt.print.*;<br><br>public class PrintDialogExample implements Printable {<br><br> public static void main(String[] args) {<br> // 创建 PrinterJob 对象<br> PrinterJob printerJob = PrinterJob.getPrinterJob();<br><br> // 设置打印内容<br> printerJob.setPrintable(new PrintDialogExample());<br><br> // 显示打印对话框<br> if (printerJob.printDialog()) {<br> try {<br> // 执行打印任务<br> printerJob.print();<br> System.out.println("Printing complete.");<br> } catch (PrinterException e) {<br> e.printStackTrace();<br> }<br> } else {<br> System.out.println("Printing cancelled.");<br> }<br> }<br><br> @Override<br> public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {<br> // 只打印第一页<br> if (pageIndex > 0) {<br> return Printable.NO_SUCH_PAGE;<br> }<br><br> // 将 Graphics 对象转换为 Graphics2D<br> Graphics2D g2d = (Graphics2D) graphics;<br><br> // 设置字体和颜色<br> g2d.setFont(new Font("Serif", Font.PLAIN, 12));<br> g2d.setColor(Color.BLACK);<br><br> // 打印文本<br> String text = "Hello, this is a test print job!";<br> g2d.drawString(text, 100, 100);<br><br> // 返回打印成功<br> return Printable.PAGE_EXISTS;<br> }<br>}<br style="color:rgb(23,43,77);font-family:"DejaVu Sans",sans-serif;font-size:14px"><font color="#172b4d" face="DejaVu Sans, sans-serif"><span style="font-size:14px"> </span></font></div><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">I'd like to inquire:</p><ol style="list-style-type:none;padding-left:24px;color:rgba(0,0,0,0.86);font-family:"PingFang SC","Microsoft YaHei","Arial Regular";font-size:14px"><li style="margin:0px 0px 3px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">1.</span>Is this considered an accepted platform behavior difference?</li><li style="margin:3px 0px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">2.</span>Are there any plans to implement native printer property support for Linux/MacOS?</li><li style="margin:3px 0px 0px;padding:0px;min-height:24.5px;line-height:24.5px"><span style="margin-top:0px;margin-bottom:0px">3.</span>Would there be value in creating a feature request for this capability?</li></ol><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">Additional environment details:</p><ul style="padding-left:24px;color:rgba(0,0,0,0.86);font-family:"PingFang SC","Microsoft YaHei","Arial Regular";font-size:14px"><li style="margin:0px 0px 3px;padding:0px 0px 0px 3px;min-height:24.5px;line-height:24.5px">Desktop Environment: GNOME [3.34.3-0ubuntu1 ] </li><li style="margin:3px 0px 0px;padding:0px 0px 0px 3px;min-height:24.5px;line-height:24.5px">Default Print System: CUPS [2.3.1-9ubuntu1.4]</li></ul><p style="margin:0px;padding:0px;font-size:14px;line-height:24.5px;color:rgba(0,0,0,0.86);text-align:justify;font-family:"PingFang SC","Microsoft YaHei","Arial Regular"">Thank you for your insights. I'm happy to provide further testing support if needed.</p></div>
</div>