Pegar socket selecionado em combo

Bom dia!!

Possuo um combo que contem todos os clientes que são conectados ao meu servidor (aplicação chat), esses clientes são do tipo Socket.
Gostaria de pegar o socket selecionado no combo sem transformar seu tipo para string ou int, pois preciso dele assim para passar como parâmetro em um método que envia mensagem.
Existe algo do tipo?

Socket destino = comboDestino.Selected(...)

Desde já agradeço!

Sobrescreva o método toString() do Socket, fazendo ele retornar o que você quer que apareça no combo.
Daí na hora de adicionar itens ao combo, adicione o objeto Socket.

Depois, pra recuperar, basta chamar

Socket socket = (Socket)seuCombo.getSelectedItem();

Preco, obrigada pela resposta! Mas deu um erro maior do mundo agora:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.net.Socket at fontes.Servidor.btnEnviarSActionPerformed(Servidor.java:274) at fontes.Servidor.access$000(Servidor.java:20) at fontes.Servidor$1.actionPerformed(Servidor.java:71) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

:confused:

Preco, agora deu certo,
adicionei os sockets assim em meu combo:

cmbDestino.insertItemAt(cliente, index++); //onde cliente é o socket

Porém no combo ta aprecendo um montão de informaçoes, mas eu gostaria que mostrasse apenas o ip ou o nome da máquina…Tem como mascarar essas informações na visualização?

Você poderia colar seu código?

Eu fiz um teste rápido aqui, ficou assim:

  1. Na parte que adiciona os sockets no combo:
        ArrayList<Socket> lista = new ArrayList<Socket>();
        lista.add(new Socket(){
            public String toString(){
                return "" + this.getLocalPort();// Aqui você coloca o que quer que apareça no combo, como o IP, por exemplo
            }
        });
        for (Socket s: lista){            
            jComboBox1.addItem(s);
        }
  1. Daí criei um botão, e no actionPerformed desse botão, eu botei:
Socket soc = (Socket)jComboBox1.getSelectedItem();
System.out.println("Socket: " + soc);

E ele me retornou o Socket corretamente…