Java에서 글꼴, 크기, 굵게 등 가져오기
Java 프로그램에서 사전 정의된 글꼴, 크기 및 색상에 액세스하는 것이 어려울 수 있습니다. . 이 문제를 해결하려면 이러한 요소를 효과적으로 얻는 방법을 살펴보겠습니다.
GraphicsEnvironment
시스템에서 사용 가능한 글꼴을 검색하려면 GraphicsEnvironment 클래스를 사용합니다. 설치된 모든 글꼴 계열의 이름이 포함된 문자열 배열을 반환하는 getAvailableFontFamilyNames() 메서드를 제공합니다.
<code class="java">GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fonts = ge.getAvailableFontFamilyNames();</code>
글꼴 렌더링
글꼴이 있으면 이름을 사용하여 원하는 속성을 가진 글꼴 개체를 만들 수 있습니다. Font 생성자는 글꼴 이름, 스타일, 크기라는 세 가지 매개변수를 사용합니다. 예를 들어, 크기가 12이고 굵은 스타일의 Arial 글꼴을 만들려면 다음을 사용합니다.
<code class="java">Font font = new Font("Arial", Font.BOLD, 12);</code>
크기 및 스타일
글꼴과 달리 크기 및 스타일은 런타임에 동적으로 설정할 수 있습니다. 스타일의 경우 Font.BOLD, Font.ITALIC, Font.PLAIN, 크기의 경우 Font.SIZE1, Font.SIZE2 등 Font 클래스의 상수로 정의됩니다.
<code class="java">font.setBold(true); font.setSize(14);</code>
예
다음 코드 조각은 사용자가 글꼴 모음, 크기 및 색상을 선택할 수 있는 글꼴 선택기를 표시하는 Java 프로그램을 보여줍니다.
<code class="java">import java.awt.*; import javax.swing.*; public class FontDemo { public static void main(String[] args) { SwingUtilities.invokeLater(() -> { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fonts = ge.getAvailableFontFamilyNames(); JComboBox fontChooser = new JComboBox(fonts); fontChooser.setRenderer(new FontCellRenderer()); JOptionPane.showMessageDialog(null, fontChooser); }); } } class FontCellRenderer extends DefaultListCellRenderer { @Override public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = (JLabel)super.getListCellRendererComponent( list,value,index,isSelected,cellHasFocus); Font font = new Font(value.toString(), Font.PLAIN, 20); label.setFont(font); return label; } }</code>
JavaDoc
자세한 내용은 GraphicsEnvironment.getAvailableFontFamilyNames()용 JavaDoc을 참조하세요.
[GraphicsEnvironment.getAvailableFontFamilyNames()](https://docs.oracle.com /javase/7/docs/api/java/awt/GraphicsEnvironment.html#getAvailableFontFamilyNames())
위 내용은 Java에서 글꼴, 크기 및 스타일에 어떻게 액세스하고 조작합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!