しばらく前に、私はラオス語で単語を不適切に表示したフォントについてのスタックオーバーフローの質問に答えました。 Swing GUIを書き、スタックオーバーフローの質問に答えました。
Java Swingに精通していない場合、Oracleには優れたチュートリアルがあり、JFC/SwingでGUIを作成します。 NetBeansセクションをスキップします。
2つの理由で、より一般的なフォントセレクターGUIを書くことにしました。
作成していた別のGUI用のスクリプトフォントを選択したかったのです。利用可能なフォントを見るためにOpenOfficeを使用する必要がありました。
Githubの良いスイングアプリケーションになると思いました。
これは、私のコンピューターのどのフォントが英語のフレーズを表示するかを示すフォントセレクターGUIです。 jtextfieldからサンプルテキストを表示できる432個のフォントバリエーションがあります。

GUIの上部では、サンプルテキストを入力またはコピー /貼り付けることができます。いくつかの一般的なフォントサイズから選択できます。ディスプレイフォントJbuttonを左クリックすると、各フォントのサンプルが表示され、上部には、Javaが認識する利用可能なフォントの総数が表示されます。
これは、私のコンピューターのどのフォントがLAO言語に単語を表示するかを示すフォントセレクターGUIです。サンプルテキストjtextfieldにボックスを見ることができます。私のデフォルトのスイングGUIフォントは単語を表示できません。私のシステムでは11のフォントバリエーションのみが可能であり、Dejavuフォントのみがグリフを正しい位置に表示できる単語を表示できます。

Swing GUIは4つのクラスで構成されています。 fontselectorgui、fonttablecellrenderer、fontdisplaylistener、およびfontdisplayrunnable。
fontselectorguiクラスはメインGUIクラスです。 JFrame、Entry JPanel、およびDisplay JPanelは、このクラスで作成されています。 JFrameは実行方法で作成され、JPanelsは個別の方法で作成されます。エントリJPanelはBoxLayoutを使用し、Display JPanelはBorderLayoutを使用します。
FontTableCellRendererクラスは、異なるフォントでJTableセルをレンダリングするJtable Cell Rendererクラスです。
fontdisplaylistenerクラスは、エントリJPanelのJbuttonに応答します。 Jtable行の作成には時間がかかるため、別のfontdisplayrunnableが別のスレッドでJtable行を更新できます。これを行うと、GUIが応答し続けます。