Nicolas_Fernandes 27 de jan. de 2012
Posta o erro que está dando!
fbrigatt 27 de jan. de 2012
Está sublinhado somente o table
Cannot find symbol
Está pedindo para criar classe table, estou usando um jTable.
Não estou entendendo…
Nicolas_Fernandes 27 de jan. de 2012
Sua variável table foi declarada?
fbrigatt 27 de jan. de 2012
O table é uma tabela, JTable.
Estou usando um JTable. Não estou entendendo o que está acontecendo.
Coloquei assim e deu certo: jTable1.setModel(model);
Mas ao clicar no botão:
Exception in thread “ AWT - EventQueue - 0 ” java . lang . ArrayIndexOutOfBoundsException : 1
at cadastro . CadClientes . btnListarActionPerformed ( CadClientes . java : 223 )
at cadastro . CadClientes . access$300 ( CadClientes . java : 36 )
at cadastro . CadClientes$5 . actionPerformed ( CadClientes . java : 110 )
at javax . swing . AbstractButton . fireActionPerformed ( AbstractButton . java : 2018 )
at javax . swing . AbstractButton$Handler . actionPerformed ( AbstractButton . java : 2341 )
at javax . swing . DefaultButtonModel . fireActionPerformed ( DefaultButtonModel . java : 402 )
at javax . swing . DefaultButtonModel . setPressed ( DefaultButtonModel . java : 259 )
at javax . swing . plaf . basic . BasicButtonListener . mouseReleased ( BasicButtonListener . java : 252 )
at java . awt . Component . processMouseEvent ( Component . java : 6504 )
at javax . swing . JComponent . processMouseEvent ( JComponent . java : 3321 )
at java . awt . Component . processEvent ( Component . java : 6269 )
at java . awt . Container . processEvent ( Container . java : 2229 )
at java . awt . Component . dispatchEventImpl ( Component . java : 4860 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2287 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . LightweightDispatcher . retargetMouseEvent ( Container . java : 4832 )
at java . awt . LightweightDispatcher . processMouseEvent ( Container . java : 4492 )
at java . awt . LightweightDispatcher . dispatchEvent ( Container . java : 4422 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2273 )
at java . awt . Window . dispatchEventImpl ( Window . java : 2713 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . EventQueue . dispatchEventImpl ( EventQueue . java : 707 )
at java . awt . EventQueue . access$000 ( EventQueue . java : 101 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 666 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 664 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 87 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 680 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 678 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . awt . EventQueue . dispatchEvent ( EventQueue . java : 677 )
at java . awt . EventDispatchThread . pumpOneEventForFilters ( EventDispatchThread . java : 211 )
at java . awt . EventDispatchThread . pumpEventsForFilter ( EventDispatchThread . java : 128 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 117 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 113 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 105 )
at java . awt . EventDispatchThread . run ( EventDispatchThread . java : 90 )
Exception in thread “ AWT - EventQueue - 0 ” java . lang . ArrayIndexOutOfBoundsException : 1
at cadastro . CadClientes . btnListarActionPerformed ( CadClientes . java : 223 )
at cadastro . CadClientes . access$300 ( CadClientes . java : 36 )
at cadastro . CadClientes$5 . actionPerformed ( CadClientes . java : 110 )
at javax . swing . AbstractButton . fireActionPerformed ( AbstractButton . java : 2018 )
at javax . swing . AbstractButton$Handler . actionPerformed ( AbstractButton . java : 2341 )
at javax . swing . DefaultButtonModel . fireActionPerformed ( DefaultButtonModel . java : 402 )
at javax . swing . DefaultButtonModel . setPressed ( DefaultButtonModel . java : 259 )
at javax . swing . plaf . basic . BasicButtonListener . mouseReleased ( BasicButtonListener . java : 252 )
at java . awt . Component . processMouseEvent ( Component . java : 6504 )
at javax . swing . JComponent . processMouseEvent ( JComponent . java : 3321 )
at java . awt . Component . processEvent ( Component . java : 6269 )
at java . awt . Container . processEvent ( Container . java : 2229 )
at java . awt . Component . dispatchEventImpl ( Component . java : 4860 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2287 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . LightweightDispatcher . retargetMouseEvent ( Container . java : 4832 )
at java . awt . LightweightDispatcher . processMouseEvent ( Container . java : 4492 )
at java . awt . LightweightDispatcher . dispatchEvent ( Container . java : 4422 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2273 )
at java . awt . Window . dispatchEventImpl ( Window . java : 2713 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . EventQueue . dispatchEventImpl ( EventQueue . java : 707 )
at java . awt . EventQueue . access$000 ( EventQueue . java : 101 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 666 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 664 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 87 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 680 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 678 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . awt . EventQueue . dispatchEvent ( EventQueue . java : 677 )
at java . awt . EventDispatchThread . pumpOneEventForFilters ( EventDispatchThread . java : 211 )
at java . awt . EventDispatchThread . pumpEventsForFilter ( EventDispatchThread . java : 128 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 117 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 113 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 105 )
at java . awt . EventDispatchThread . run ( EventDispatchThread . java : 90 )
Agora viajei…
Nicolas_Fernandes 27 de jan. de 2012
O erro é provindo de alguma iteração sua em algum array dentro do evento do botão que você clica.
Vá dentro do evento do botão e procure o array que você está iterando. O problema é na sua iteração.
Você está usando posições fora do tamanho do array (por isso o ArrayOutOfBoundsException).
Confira isso e depois dê um reply aqui.
fbrigatt 27 de jan. de 2012
O código do botão é esse:
BufferedReader reader = new BufferedReader ( new FileReader ( "C:/Aqua/Agenda.txt" ));
String linha ;
String dados [] ;
List < ListaBean > llb = new ArrayList < ListaBean >();
ListaBean lb ;
for ( int i = 0 ; ; i ++) {
linha = reader.readLine() ;
if (linha == null) break ;
dados = linha.split(" ; ") ;
lb = new ListaBean() ;
lb.setNome(dados [ 0 ] ) ;
lb.setTelefone(dados [ 1 ] ) ;
llb.add(lb) ;
} // fim do for
ObjectTableModel < ListaBean > model = new ObjectTableModel < ListaBean >( ListaBean . class , "nome,telefone" );
model . addAll ( llb );
jTable1 . setModel ( model );
Nicolas_Fernandes 27 de jan. de 2012
O que eu vejo que poderia melhorar:
- Faça o seu loop de acordo com o método ready da classe BufferedReader. Ele te garante que você lerá todas as linhas no teu arquivo.
- Valide se o seu array possui as colunas que você quer pegar os dados. Veja a validação que fiz abaixo.
Dá uma olhada se isso soluciona o seu problema:
public class BotaoAcaoActionListener {
public void actionPerformed ( ActionEvent event ) {
BufferedReader bufferedReader = new BufferedReader ( new FileReader ( "..." ));
List < ListaBean > entidadeLista = new ArrayList < ListaBean > ();
ListaBean entidadeBean ;
String [] entidadeDados ;
String entidadeLinha ;
while ( bufferedReader . ready ()) {
entidadeLinha = bufferedReader . readLine ();
entidadeDados = entidadeLinha . split ( ";" );
entidadeBean = new ListaBean ();
entidadeBean . setNome ( dados [ 0 ] == null ? "" : dados [ 0 ] );
entidadeBean . setTelefone ( dados [ 1 ] == null ? "" : dados [ 1 ] );
entidadeLista . add ( entidadeBean );
}
ObjectTableModel < ListaBean > model = new ObjectTableModel < ListaBean > ( ListaBean . class , "nome, telefone" );
model . add ( entidadeLista );
table . setModel ( model );
}
}
fbrigatt 27 de jan. de 2012
Ok, é só copiar e colar esse código para testar?
fbrigatt 27 de jan. de 2012
BufferedReader bufferedReader = new BufferedReader ( new FileReader ( "C:/Aqua/Agenda.txt" ));
List < ListaBean > entidadeLista = new ArrayList < ListaBean >();
ListaBean entidadeBean ;
String [] entidadeDados ;
String entidadeLinha ;
while ( bufferedReader . ready ()) {
entidadeLinha = bufferedReader.readLine() ;
entidadeDados = entidadeLinha.split(" ; ") ;
entidadeBean = new ListaBean() ;
entidadeBean.setNome(entidadeDados [ 0 ] == null ? "" : entidadeDados [ 0 ] ) ;
entidadeBean.setTelefone(entidadeDados [ 1 ] == null ? "" : entidadeDados [ 1 ] ) ;
entidadeLista.add(entidadeBean) ;
}
ObjectTableModel < ListaBean > model = new ObjectTableModel < ListaBean >( ListaBean . class , "nome, telefone" );
model . add ( entidadeLista );
jTable1 . setModel ( model );
Fiz algumas alterações, tipo:
Estava dados, coloquei entidadeDados.
Fiz desse jeito, tá certo? Nessa linha o que eu coloco?
model.add(entidadeLista); Tá sublinhado em vermelho entidadeLista
Nicolas_Fernandes 27 de jan. de 2012
Que tipos de parâmetros o método add do ObjectTableModel aceita?
Vê se ele aceita um List, que é o que você tá passando.
E, PELO AMOR DO SANTO DEUS , posta qual o erro junto, se não fica difícil de saber o que tá acontecendo.
fbrigatt 27 de jan. de 2012
BufferedReader bufferedReader = new BufferedReader ( new FileReader ( "C:/Aqua/Agenda.txt" ));
List < ListaBean > entidadeLista = new ArrayList < ListaBean >();
ListaBean entidadeBean
String [] entidadeDados ;
String entidadeLinha ;
while ( bufferedReader . ready ()) {
entidadeLinha = bufferedReader.readLine() ;
entidadeDados = entidadeLinha.split(" ; ") ;
entidadeBean = new ListaBean() ;
entidadeBean.setNome(entidadeDados [ 0 ] == null ? "" : entidadeDados [ 0 ] ) ;
entidadeBean.setTelefone(entidadeDados [ 1 ] == null ? "" : entidadeDados [ 1 ] ) ;
entidadeLista.add(entidadeBean) ;
}
ObjectTableModel < ListaBean > model = new ObjectTableModel < ListaBean >( ListaBean . class , "nome, telefone" );
model . add ( entidadeBean );
jTable1 . setModel ( model );
Tava dando esse erro: variable entidadeBean might not have been initialized
Ao colocar entidadeLista no model.add, deu esse erro:
method add in class com . towel . swing . table . ObjectTableModel cannot be applied to given types ;
required : cadastro . ListaBean
found : java . util . List < cadastro . ListaBean >
reason : actual argument java . util . List < cadastro . ListaBean > cannot be converted to cadastro . ListaBean by method invocation conversion
Exception in thread “ AWT - EventQueue - 0 ” java . lang . ArrayIndexOutOfBoundsException : 1
at cadastro . CadClientes . btnListarActionPerformed ( CadClientes . java : 227 )
at cadastro . CadClientes . access$300 ( CadClientes . java : 36 )
at cadastro . CadClientes$5 . actionPerformed ( CadClientes . java : 110 )
at javax . swing . AbstractButton . fireActionPerformed ( AbstractButton . java : 2018 )
at javax . swing . AbstractButton$Handler . actionPerformed ( AbstractButton . java : 2341 )
at javax . swing . DefaultButtonModel . fireActionPerformed ( DefaultButtonModel . java : 402 )
at javax . swing . DefaultButtonModel . setPressed ( DefaultButtonModel . java : 259 )
at javax . swing . plaf . basic . BasicButtonListener . mouseReleased ( BasicButtonListener . java : 252 )
at java . awt . Component . processMouseEvent ( Component . java : 6504 )
at javax . swing . JComponent . processMouseEvent ( JComponent . java : 3321 )
at java . awt . Component . processEvent ( Component . java : 6269 )
at java . awt . Container . processEvent ( Container . java : 2229 )
at java . awt . Component . dispatchEventImpl ( Component . java : 4860 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2287 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . LightweightDispatcher . retargetMouseEvent ( Container . java : 4832 )
at java . awt . LightweightDispatcher . processMouseEvent ( Container . java : 4492 )
at java . awt . LightweightDispatcher . dispatchEvent ( Container . java : 4422 )
at java . awt . Container . dispatchEventImpl ( Container . java : 2273 )
at java . awt . Window . dispatchEventImpl ( Window . java : 2713 )
at java . awt . Component . dispatchEvent ( Component . java : 4686 )
at java . awt . EventQueue . dispatchEventImpl ( EventQueue . java : 707 )
at java . awt . EventQueue . access$000 ( EventQueue . java : 101 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 666 )
at java . awt . EventQueue$3 . run ( EventQueue . java : 664 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 87 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 680 )
at java . awt . EventQueue$4 . run ( EventQueue . java : 678 )
at java . security . AccessController . doPrivileged ( Native Method )
at java . security . ProtectionDomain$1 . doIntersectionPrivilege ( ProtectionDomain . java : 76 )
at java . awt . EventQueue . dispatchEvent ( EventQueue . java : 677 )
at java . awt . EventDispatchThread . pumpOneEventForFilters ( EventDispatchThread . java : 211 )
at java . awt . EventDispatchThread . pumpEventsForFilter ( EventDispatchThread . java : 128 )
at java . awt . EventDispatchThread . pumpEventsForHierarchy ( EventDispatchThread . java : 117 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 113 )
at java . awt . EventDispatchThread . pumpEvents ( EventDispatchThread . java : 105 )
at java . awt . EventDispatchThread . run ( EventDispatchThread . java : 90 )
Nicolas_Fernandes 27 de jan. de 2012
Coloca um ponto-e-vírgula depois no final dessa linha:
Você está passando a variável entidadeBean como parâmetro no modelo. Por isso não vai. Você deve passar a entidadeLista , que é a coleção.
Toma cuidado, se atente a esses pequenos erros que custam um bom tempo da gente!
fbrigatt 27 de jan. de 2012
Já está com ; e também estou usando entidadeLista
erro:
method add in class com . towel . swing . table . ObjectTableModel cannot be applied to given types ;
required : cadastro . ListaBean
found : java . util . List < cadastro . ListaBean >
reason : actual argument java . util . List < cadastro . ListaBean > cannot be converted to cadastro . ListaBean by method invocation conversion
BufferedReader bufferedReader = new BufferedReader ( new FileReader ( "C:/Aqua/Agenda.txt" ));
List < ListaBean > entidadeLista = new ArrayList < ListaBean >();
ListaBean entidadeBean ;
String [] entidadeDados ;
String entidadeLinha ;
while ( bufferedReader . ready ()) {
entidadeLinha = bufferedReader.readLine() ;
entidadeDados = entidadeLinha.split(" ; ") ;
entidadeBean = new ListaBean() ;
entidadeBean.setNome(entidadeDados [ 0 ] == null ? "" : entidadeDados [ 0 ] ) ;
entidadeBean.setTelefone(entidadeDados [ 1 ] == null ? "" : entidadeDados [ 1 ] ) ;
entidadeLista.add(entidadeBean) ;
}
ObjectTableModel < ListaBean > model = new ObjectTableModel < ListaBean >( ListaBean . class , "nome, telefone" );
model . add ( entidadeLista );
jTable1 . setModel ( model );
fbrigatt 29 de jan. de 2012
Essa é minha ListaBean
package cadastro ;
/**
*
* @author Frederico
*/
public class ListaBean {
public ListaBean () {
}
private String nome ;
private String telefone ;
/**
* @return the codigo
*/
public String getnome () {
return nome ;
}
/**
* @param codigo the codigo to set
*/
public void setNome ( String nome ) {
this . nome = nome ;
}
/**
* @return the nome
*/
public String getTelefone () {
return telefone ;
}
/**
* @param nome the nome to set
*/
public void setTelefone ( String telefone ) {
this . telefone = telefone ;
}
/**
* @return the populacao
*/
}
[code]
fbrigatt 30 de jan. de 2012
fbrigatt 30 de jan. de 2012
Alguém pra ajudar, não estou entendendo o que acontece…