Java tutorial
import java.awt.Component; import javax.swing.DefaultListCellRenderer; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTextField; public class Main extends JPanel { private static final MyData[] data = { new MyData("Monday", 1, false), new MyData("Tuesday", 2, false), new MyData("Wednesday", 3, false), new MyData("Thursday", 4, false), new MyData("Friday", 5, false), new MyData("Saturday", 6, true), new MyData("Sunday", 7, true), }; JComboBox<MyData> myCombo = new JComboBox<MyData>(data); JTextField textField = new JTextField(10); JTextField valueField = new JTextField(10); JTextField weekendField = new JTextField(10); public Main() { add(myCombo); add(new JLabel("text:")); add(textField); add(new JLabel("value:")); add(valueField); add(new JLabel("weekend:")); add(weekendField); myCombo.setRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { String text = value == null ? "" : ((MyData) value).getText(); return super.getListCellRendererComponent(list, text, index, isSelected, cellHasFocus); } }); myCombo.setSelectedIndex(-1); myCombo.addActionListener(e -> { MyData myData = (MyData) myCombo.getSelectedItem(); textField.setText(myData.getText()); valueField.setText(String.valueOf(myData.getValue())); weekendField.setText(String.valueOf(myData.isWeekend())); }); } public static void main(String[] args) { Main mainPanel = new Main(); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(mainPanel); frame.pack(); frame.setVisible(true); } } class MyData { String text; int value; boolean weekend; MyData(String text, int value, boolean weekend) { this.text = text; this.value = value; this.weekend = weekend; } public String getText() { return text; } public int getValue() { return value; } public boolean isWeekend() { return weekend; } }