
Button Group para cambiar la vista de un ComboBox
Publicado por Alejandro (9 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:
Un saludo y gracias.
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


0