小编Bra*_*rad的帖子

获取字体文件作为File对象或获取其路径

我在Java中有一个Font对象用于字体文件.我需要将该对象转换为File对象或获取字体文件路径.

有没有办法做到这一点?


我在这里做的是从外部库调用一个方法来加载一个字体文件,以便在写入时使用它:

loadTTF(PDDocument pdfFile, File fontfile);
Run Code Online (Sandbox Code Playgroud)

所以我想让用户使用以下命令从操作系统中定义的字体中选择一种字体:

GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = e.getAllFonts();
Run Code Online (Sandbox Code Playgroud)

然后当用户选择字体时,我将其传递给loadTTF(...)方法以加载它.

这里有不好的做法吗?

java fonts file path

3
推荐指数
1
解决办法
6659
查看次数

在Mac OS中使用Runtime.getRuntime().exec()会导致错误

我试图在我的Java应用程序中使用此代码在Mac OS X中运行另一个Jar:

Runtime runtime = Runtime.getRuntime();
String cmd = "java -Xmx1024m -jar \"/Volumes/NANO PRO/My Program/Main.jar\"";
Process process = runtime.exec( cmd );
Run Code Online (Sandbox Code Playgroud)

如果Main.jar存在于没有空格的路径中,它将正常工作,但由于它存在于带空格的路径中,因此会导致错误:

在此输入图像描述

有没有办法在有空格的路径中运行?

java macos runtime

2
推荐指数
1
解决办法
2178
查看次数

如何在Event dispatch线程中同时运行两个组件?

我有一个JButton,当我点击它时,我从数据库加载一些数据+初始化一个有很多控件的JDialog +用加载的数据填充那些控件然后显示慢JDialog.这需要大约3到5秒才能最终显示JDialog,这会导致程序以错误的方式冻结.

我在SwingX中创建了一个带有JXBusyLabel的小型JDialog,以便在加载和初始化这些缓慢的进程时显示繁忙的标签.但是,如何在初始化慢速对话框的同时在EDT中运行这个繁忙的标签JDialog?

注意:从db加载数据并不慢,但初始化繁重的JDialog及其组件会导致处理速度变慢.

java swing event-dispatch-thread

1
推荐指数
1
解决办法
617
查看次数

Java - 允许在带有Substance L&F的可编辑JComboBox中使用退格

我正在使用物质L&F并且我已设置JComboBox为可编辑,以便我可以从其弹出窗口中选择我想要的值,或在其编辑器中键入新值.

键入一个新值工作正常,但如果我想从Combo编辑器中删除一个未命名的字母,然后单击Backspace来执行此操作,它会选择编辑器中的字母而不是删除它们.这是一个截图:

在此输入图像描述

我希望Combo编辑器在输入键盘字母或退格键或删除键时像JTextField一样工作,那么有没有办法做到这一点?或者是什么导致了这个?

java swing jcombobox backspace substance

0
推荐指数
1
解决办法
420
查看次数