동적 JComboBox를 생성하는 방법
처음에 값이 선택될 때와 같이 상호 연결된 두 개의 동적 JComboBox를 생성하려면 JComboBox, 두 번째 JComboBox는 해당 값으로 채워집니다. 다음을 따르세요. 단계:
1. 각 데이터 세트에 대해 DefaultComboBoxModel을 생성합니다.
이 모델은 두 번째 JComboBox에 채워질 값을 저장합니다.
2. 첫 번째 JComboBox의 값이 변경되면 두 번째 JComboBox의 모델을 해당 모델로 설정합니다.
이렇게 하면 첫 번째 JComboBox의 선택 항목을 기반으로 두 번째 JComboBox가 적절한 값으로 채워집니다.
예:
다음 Java 코드는 이를 구현하는 방법을 보여줍니다. 기능:
import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; public class ComboTest extends JPanel implements ActionListener, Runnable { private final JComboBox combo1 = new JComboBox( new String[]{"Course 1", "Course 2", "Course 3"}); private final JComboBox combo2 = new JComboBox(); private ComboBoxModel[] models = new ComboBoxModel[3]; public ComboTest() { models[0] = new DefaultComboBoxModel( new String[]{"A1", "A2"}); models[1] = new DefaultComboBoxModel( new String[]{"B1", "B2", "B3", "B4"}); models[2] = new DefaultComboBoxModel( new String[]{"C1", "C2"}); combo2.setModel(models[0]); this.add(combo1); this.add(combo2); combo1.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { int i = combo1.getSelectedIndex(); combo2.setModel(models[i]); } @Override public void run() { JFrame f = new JFrame("ComboTest"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(this); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokeLater(new ComboTest()); } }
이 코드는 두 개의 JComboBox가 있는 JFrame을 생성합니다. 첫 번째 JComboBox에서 값을 선택하면 두 번째 JComboBox가 해당 값으로 채워집니다.
위 내용은 Java에서 상호 연결된 동적 JComboBox를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!