Olá, Estou com dificuldades ao tentar colocar Clientes físicos e Clientes jurídicos em um mesmo comboBox, tenho essas duas tabelas no meu banco de Dados e até agora eu só consigo passar os dados de uma tabela. eu tenho um ComboModel pra cada que sao estes:
Cliente Juridico:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package combomodel;
import dao.DAOClienteJur;
import java.util.List;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import modelo.ClienteJur;
/**
*
-
@author 111010ClienteJurComboModel8-3
*/
public class ClienteComboModel extends AbstractListModel implements ComboBoxModel {private List lista;
/* Seleciona um objeto na caixa de seleção */
private ClienteJur selecionado;/* Método construtor /
public ClienteComboModel(){
/ Popula a lista */
popular();/* Define o objeto selecionado */ setSelectedItem(lista.get(0));
}
/* Captura o tamanho da listagem */
public int getSize() {
int totalElementos = lista.size();
return totalElementos;
}/* Captura um elemento da lista em uma posição informada */
public ClienteJur getElementAt(int indice) {
ClienteJur t = lista.get(indice);
return t;
}/* Marca um objeto na lista como selecionado */
public void setSelectedItem(Object item) {
selecionado = (ClienteJur) item;
}/* Captura o objeto selecionado da lista */
public Object getSelectedItem() {
return selecionado;
}private void popular(){
try{
/* Cria o DAO */
DAOClienteJur tdao = new DAOClienteJur();/* Cria um modelo vazio */ ClienteJur t = new ClienteJur(); t.setNomeEmpresa(""); /* Recupera os registros da tabela */ lista = tdao.buscar(t); /* Cria o primeiro registro da lista */ ClienteJur primeiro = new ClienteJur(); primeiro.setCodigo(0); primeiro.setNomeEmpresa("SELECIONE"); /* Adiciona o primeiro registro a lista */ lista.add(0, primeiro); }catch(Exception ex){ ex.printStackTrace(); }
}
}
[/code]
Cliente Fisico:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package combomodel;
import dao.DAOClienteFis;
import java.util.List;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import modelo.ClienteFis;
/**
*
-
@author 111010ClienteJurComboModel8-3
*/
public class ClienteFisComboModel extends AbstractListModel implements ComboBoxModel {private List lista;
/* Seleciona um objeto na caixa de seleção */
private ClienteFis selecionado;/* Método construtor /
public ClienteFisComboModel(){
/ Popula a lista */
popular();/* Define o objeto selecionado */ setSelectedItem(lista.get(0));
}
/* Captura o tamanho da listagem */
public int getSize() {
int totalElementos = lista.size();
return totalElementos;
}/* Captura um elemento da lista em uma posição informada */
public ClienteFis getElementAt(int indice) {
ClienteFis t = lista.get(indice);
return t;
}/* Marca um objeto na lista como selecionado */
public void setSelectedItem(Object item) {
selecionado = (ClienteFis) item;
}/* Captura o objeto selecionado da lista */
public Object getSelectedItem() {
return selecionado;
}private void popular(){
try{
/* Cria o DAO */
DAOClienteFis tdao = new DAOClienteFis();/* Cria um modelo vazio */ ClienteFis t = new ClienteFis(); t.setNome(""); /* Recupera os registros da tabela */ lista = tdao.buscar(t); /* Cria o primeiro registro da lista */ ClienteFis primeiro = new ClienteFis(); primeiro.setCodigo(0); primeiro.setNome("SELECIONE"); /* Adiciona o primeiro registro a lista */ lista.add(0, primeiro); }catch(Exception ex){ ex.printStackTrace(); }
}
}
[/code]
na minha tela eu fui no combo box e nas probriedades, no model e no codigo personalizado coloquei:
new ClienteComboBox()
E funcionou normalmente, mas nao consigo colocar os dados dos dois juntos no mesmo combo, se alguém puder ajudar agradeço.