Bom dia galera!!! Seguinte tenho a seguinte dúvida, como eu faço para pegar o resultset de uma determinada classe e inserir esse resultado em uma JInternalFrame onde possui um JTable, sendo que este esta em uma outra classe. Detalhe eu to usando o NetBeans 6 e desenhei a tela do JInternalFrame e JTable pelo Matisse. Desde já agradeço. 
Dúvida sobre JTable e ResultSet
4 Respostas
Boa tarde.
Podemos pensar em várias soluções para este caso:
No frame que possui o JTable deve existir um método que receba esse resultset e atualize os valores da JTable, isso caso o frame ja exista.
Analize a possibilidade dele receber alguma classe de conjunto de dados (com uma collection, por exemplo) especializada para o transporte desses dados, no lugar do result set.
Caso seja um frame que esta sendo criado pense se não seria interessante receber esse rs ou a colletion logo na sua construção.
Como disse são várias soluções possíveis, cabe a você juga-las e escolher a que melhor se encaixe no contexto do seu código.
Espero tê-lo ajudado em algo.
[]'s
Boa tarde.Podemos pensar em várias soluções para este caso:
No frame que possui o JTable deve existir um método que receba esse resultset e atualize os valores da JTable, isso caso o frame ja exista.
Analize a possibilidade dele receber alguma classe de conjunto de dados (com uma collection, por exemplo) especializada para o transporte desses dados, no lugar do result set.
Caso seja um frame que esta sendo criado pense se não seria interessante receber esse rs ou a colletion logo na sua construção.Como disse são várias soluções possíveis, cabe a você juga-las e escolher a que melhor se encaixe no contexto do seu código.
Espero tê-lo ajudado em algo.
[]'s
Sendo a primeira opção nesse caso mais adequada como poderia proceder?
Valeu
Vamos supor:
A seja a classe chefe que tem a JTable como atributo privado e B seja a classe (frame) que é instanciada por A.
O que vc quer é que ao executar alguma ação em B devemos manipular componentes em A.
Exemplo;
public class A
{
private JTable tabela;
public A()
{
tabela = new JTable();
...
}
public void ChamaB()
{
B obj = new B(this); //passa esse objeto A como referencia na construção do objeto B
B.setVisible(true); //supondo que B seja um frame... abri-lo-ei (caraca!)
}
public void ModificaTabela(ResultSet rs)
{
//executa o método que interpreta esse ResultSet pra atualizar a JTable...
}
}
public class B
{
A referencia;
public B(A ref)
{
this.referencia = ref; //mostra pra B a referencia de quem foi que o instanciou
}
public void ExecuteiAlgumaCoisa()
{
ResultSet rs = new ResultSet(); // faz as funçoes pra gerar o ResultSet.
referencia.ModificaTabela(rs); //chama o metodo da classe instanciadora q muda o table nela...
}
}
Vamos supor:A seja a classe chefe que tem a JTable como atributo privado e B seja a classe (frame) que é instanciada por A.
O que vc quer é que ao executar alguma ação em B devemos manipular componentes em A.
Exemplo;Agora a classe Bpublic class A { private JTable tabela; public A() { tabela = new JTable(); ... } public void ChamaB() { B obj = new B(this); //passa esse objeto A como referencia na construção do objeto B B.setVisible(true); //supondo que B seja um frame... abri-lo-ei (caraca!) } public void ModificaTabela(ResultSet rs) { //executa o método que interpreta esse ResultSet pra atualizar a JTable... } }É basicamente isso. Particularmente não gosto mto da ideia de ficar trocando ResultSet assim, mas é bem simples. Espero ter sido bem didático no exemplo, boa sorte. []'spublic class B { A referencia; public B(A ref) { this.referencia = ref; //mostra pra B a referencia de quem foi que o instanciou } public void ExecuteiAlgumaCoisa() { ResultSet rs = new ResultSet(); // faz as funçoes pra gerar o ResultSet. referencia.ModificaTabela(rs); //chama o metodo da classe instanciadora q muda o table nela... } }
Véio do céu ainda não entendi... Teria alguma forma mais simples ou mais didática? Desde já agradeço heim... Valeu :wink: