Java - Button Group para cambiar la vista de un ComboBox

   
Vista:
Imágen de perfil de Alejandro

Button Group para cambiar la vista de un ComboBox

Publicado por Alejandro (8 intervenciones) el 27/01/2016 17:12:46
Hola a tod@s,

estoy intentando desarrollar un combobox que cambia en función del radiobutton seleccionado. Por defecto y para uno de los radiobuttons, tengo esto:

//Para contactos
this.vistaMenu.selectAgenda.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
String nombreAgenda = ControladorMenu.this.vistaMenu.selectAgenda.getSelectedItem().toString();
contactosAgendaActual = contactoDAO.obtenerContactosPorAgenda(nombreAgenda);
tableModel.setRowCount(0);
for(Contacto contacto : contactosAgendaActual){
tableModel.addRow(new Object[]{contacto.getNombre() + " " + contacto.getApellidos(), contacto.getTelefono1(), contacto.getTelefonoMovil(), contacto.getEmail1()});
}
}
}
});

this.vistaMenu.tablaAgenda.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
JTable table =(JTable) me.getSource();
Point p = me.getPoint();
int row = table.rowAtPoint(p);
if (row != -1 && me.getClickCount() == 2) {
Contacto contactoSeleccionado = contactosAgendaActual.get(row);
JFContacto vistaContacto = new JFContacto();

new ControladorContacto(vistaContacto, contactoSeleccionado, ControladorMenu.this);

vistaContacto.setVisible(true);
vistaContacto.setLocationRelativeTo(null);
}
}
});

Para el otro valor, es distinto:

//Para empresas
this.vistaMenu.selectAgenda.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
String nombreAgenda = ControladorMenu.this.vistaMenu.selectAgenda.getSelectedItem().toString();

empresas = empresaDAO.obtenerEmpresas();
tableModel.setRowCount(0);
for(Empresa empresa : empresas){
tableModel.addRow(new Object[]{empresa.getNombre(), empresa.getTelefono1(), empresa.getTelefonoMovil(), empresa.getEmailPrincipal()});
}
}
}
});

this.vistaMenu.tablaAgenda.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
JTable table =(JTable) me.getSource();
Point p = me.getPoint();
int row = table.rowAtPoint(p);
if (row != -1 && me.getClickCount() == 2) {

Empresa empresaSeleccionada = empresas.get(row);

JFEmpresa vistaEmpresa = new JFEmpresa();

new ControladorEmpresa(vistaEmpresa, empresaSeleccionada, ControladorMenu.this);

vistaEmpresa.setVisible(true);
vistaEmpresa.setLocationRelativeTo(null);
}
}
});

Este código se encuentra dentro de la clase ControladorMenu y dentro de la clase JFMenu tengo hecho con SWING el button group.

Cómo puedo tener el resultado que me interesa dependiendo del radiobutton seleccionado??? Puedo llamar al radiobutton que me interesa desde la clase ControladorMenu para hacer un:

1
2
3
4
if (radiobutton1.selected)
    //Contactos en el combobox
else
    //Empresas en el combobox

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder