不久前,我回答了一个堆栈溢出问题,该字体以不当的方式显示了老挝语的字体。我写了一个秋千GUI来回答堆栈溢出问题。
如果您不熟悉Java Swing,Oracle有一个出色的教程可以使您开始使用JFC/Swing创建GUI。跳过Netbeans部分。
我决定写一个更通用的字体选择器GUI,原因有两个。
我想为自己创建的其他GUI选择脚本字体。我必须使用OpenOffice来查看我的可用字体。
我认为这将为Github提供良好的摇摆应用。
这是字体选择器GUI,显示我的计算机上哪个字体显示英文短语。我有432个字体变体可以显示Jtextfield的示例文本。

在GUI的顶部,您可以输入或复制 /粘贴示例文本。您可以从几个常见的字体尺寸中进行选择。在显示屏字体JButton上左键单击时,您会看到每种字体的示例,在顶部,Java识别的可用字体总数。
这是字体选择器GUI显示了我的计算机上哪个字体以老挝语显示单词。您可以在示例文本Jtextfield中看到框。我的默认swing gui字体无法显示单词。我的系统上只有11个字体变化,只有Dejavu字体才能以正确的位置显示单词。

摇摆gui由四个班级组成; fontselectorgui,fonttablecellrenderer,fontdisplaylistener和fontdisplayrunnnable。
Fontselectorgui类是主要GUI类。 Jframe,输入JPANEL和DISPLIS JPANEL是在此类中创建的。 Jframe是在运行方法中创建的,JPANELS是在单独的方法中创建的。 jpanel的条目使用BoxLayout,而Display Jpanel使用BorderLayout。
FonttableCellRenderer类是负责在不同字体中呈现JTable单元的JTable Cell渲染器类。
FontdisplayListener班级对Jpanel的JButton做出了回应。因为创建JTable行需要一段时间,所以单独的FontDisplayRunnable可以在单独的线程中更新JTable行。这样做可以保持GUI的响应。