Datos compartidos entre dos comboboxes

Necesito compartir datos entre dos (o quizás más) cuadros combinados, pero quiero elegir elementos de forma independiente. Por ejemplo, si elijo Object1 en el primer comboBox, mi segundo ComboBox también elige Object1, porque tienen el mismo modelo (DefaultComboBoxModel y este modelo también administra los objetos elegidos). Pero no quiero este comportamiento. Quiero elegir objetos en mis comboBoxes de forma independiente. Cuando elijo el objeto en el primer comboBox, mi segundo comboBox no debería cambiar.

En este momento estoy pensando en supermodelo para dos modelos. Supermodel enviará eventos a los submodelos y actualizarán los datos de los cuadros combinados, pero no el estado. Pero creo que esta no es la mejor manera.

¿Hay enfoques más interesantes y simples?

Aquí está el código corto para entender lo que quiero decir:

package hello;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;
public class Comboboxes extends JFrame
{
private JPanel contentPane;
public static void main(String[] args)
{
    EventQueue.invokeLater(new Runnable()
    {
        public void run()
        {
            try
            {
                Comboboxes frame = new Comboboxes();
                frame.setVisible(true);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    });
}

public Comboboxes()
{
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JComboBox one = new JComboBox();
    one.setBounds(10, 11, 414, 26);
    contentPane.add(one);

    JComboBox two = new JComboBox();
    two.setBounds(10, 52, 414, 26);
    contentPane.add(two);

    DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>();
    model.addElement("Item 1");
    model.addElement("Item 2");
    model.addElement("Item 3");

    one.setModel(model);
    two.setModel(model);
}
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta