JComboBox JComponent 의 하위 클래스입니다. class이고 text 필드의 조합입니다. 및 드롭다운 목록 사용자가 값을 선택할 수 있습니다. JComboBox는 ActionListener, ChangeListener 를 생성할 수 있습니다. 및 ItemListener 사용자가 콤보 상자에서 작업할 때 인터페이스. JComboBox 를 렌더링하여 JComboBox 항목에 테두리를 설정할 수 있습니다. DefaultListCellRenderer 확장 클래스이며 getListCellRendererComponent()를 재정의해야 합니다. 방법.
구문
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus)
예시
import java.awt.*;
import javax.swing.*;
public class JComboBoxTest extends JFrame {
public JComboBoxTest() {
setTitle("JComboBox Test");
String[] cities = {"Hyderabad", "Mumbai", "Pune", "Bangalore", "Chennai", "Coimbatore"};
JComboBox jcb = new JComboBox(cities);
jcb.setRenderer(new CustomComboBoxRenderer());
add(jcb, BorderLayout.NORTH);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
class CustomComboBoxRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
JLabel lbl = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
lbl.setBorder(BorderFactory.createEmptyBorder(7, 7, 7, 7));
lbl.setBackground(Color.lightGray);
return lbl;
}
}
public static void main(String[] args) {
new JComboBoxTest();
}
} 출력
