얼마 전, 나는 라오스 언어로 단어를 부적절하게 표시 한 글꼴에 대한 스택 오버 플로우 질문에 대답했습니다. 스택 오버플로 질문에 답하기 위해 스윙 GUI를 썼습니다.
Java Swing에 익숙하지 않은 경우 Oracle은 JFC/Swing으로 GUI를 만들기위한 훌륭한 자습서를 가지고 있습니다. NetBeans 섹션을 건너 뜁니다.
두 가지 이유로보다 일반적인 글꼴 선택기 GUI를 작성하기로 결정했습니다.
내가 만든 다른 GUI를 위해 스크립트 글꼴을 선택하고 싶었습니다. 사용 가능한 글꼴을보기 위해 OpenOffice를 사용해야했습니다.
나는 그것이 Github에 좋은 스윙 애플리케이션을 만들 것이라고 생각했다.
내 컴퓨터의 글꼴이 영어 문구를 표시하는 글꼴 선택기 GUI는 다음과 같습니다. Jtextfield에서 샘플 텍스트를 표시 할 수있는 432 개의 글꼴 변형이 있습니다.

GUI 상단에는 샘플 텍스트를 입력하거나 복사 / 붙여 넣을 수 있습니다. 여러 공통 글꼴 크기 중에서 선택할 수 있습니다. 디스플레이 글꼴 Jbutton을 왼쪽 클릭 한 후 각 글꼴의 샘플이 표시되며 상단에는 Java가 인식하는 총 글꼴 수가 표시됩니다.
내 컴퓨터의 글꼴이 라오어 언어로 단어를 표시하는 글꼴 선택기 GUI는 다음과 같습니다. 샘플 텍스트 jtextfield에서 상자를 볼 수 있습니다. 내 기본 Swing Gui Font는 단어를 표시 할 수 없습니다. 내 시스템에서 11 개의 글꼴 변형 만 할 수 있으며, Dejavu 글꼴만이 올바른 위치에 글리프와 단어를 표시 할 수 있습니다.

Swing Gui는 4 개의 클래스로 구성됩니다. FontSelectorgui, FonttableCellrenderer, FontDisplayListener 및 FontDisplayRunnable.
FontSelectorGui 클래스는 메인 GUI 클래스입니다. JFrame, Entry JPanel 및 Display JPanel 은이 클래스에서 생성됩니다. JFrame은 실행 방법으로 생성되며 JPANEL은 별도의 방법으로 생성됩니다. 항목 JPANEL은 BoxLayout을 사용하고 Display JPanel은 BorderLayout을 사용합니다.
FonttableCellrenderer 클래스는 JTable 셀 렌더러 클래스이며 JTable 셀을 다른 글꼴로 렌더링하는 데 담당합니다.
FontDisplayListener 클래스는 항목 JPANEL의 JBUTTON에 응답합니다. jtable 행의 생성은 시간이 걸리므로 별도의 fontdisplayrunnable은 별도의 스레드에서 JTable 행을 업데이트합니다. 이렇게하면 GUI가 반응이 유지됩니다.