JComboBox JComponent 의 하위 클래스입니다. 클래스이며 텍스트 필드 의 조합입니다. 및 드롭다운 목록 사용자가 값을 선택할 수 있습니다. JComboBox ActionListener, ChangeListener를 생성할 수 있습니다. , 및 ItemListener 사용자가 콤보 상자에서 작업할 때 인터페이스. JComboBox 안에 다양한 글꼴 스타일을 표시할 수 있습니다. ListCellRenderer 구현 인터페이스
예시
import java.awt.*; import javax.swing.*; public class JComboBoxFontTest extends JFrame { private JComboBox fontComboBox; private String fontName[]; private Integer array[]; public JComboBoxFontTest() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); fontName = ge.getAvailableFontFamilyNames(); array = new Integer[fontName.length]; for(int i=1;i<=fontName.length;i++) { array[i-1] = i; } fontComboBox = new JComboBox(array); ComboBoxRenderar renderar = new ComboBoxRenderar(); fontComboBox.setRenderer(renderar); setLayout(new FlowLayout()); add(fontComboBox); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } private class ComboBoxRenderar extends JLabel implements ListCellRenderer { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { int offset = ((Integer)value).intValue() - 1; String name = fontName[offset]; setText(name); setFont(new Font(name,Font.PLAIN,20)); return this; } } public static void main(String args[]) { new JComboBoxFontTest(); } }
출력