Fala galera, tenho um JInternalFrame e nele uma tabela q so tem 3 colunas ae quando maximizo fica muito feio, so as 3 no meio e a maior parte sem nada. Como aumenta a largura das colunas de uma tabela? Ja tentei tudo mas nao consigo. To usando DefaultTableModel mas posso mudar.
to desenvolvendo um sistema que tem exatmente isso que vc ta querendo ... o que devo estar acontecendo é que vc setou o layout do conteiner como null ... vou te passar um trecho do meu codigo q deve te ajadar ... se precisar da classe inteira posta de novo que eu coloco
publicclassTelaConsultarextendsJInternalFrameimplementsActionListener{staticJTabletblDados=newJTable();DefaultTableModelmodelo=newDefaultTableModel();privateConnectioncon;privatePreparedStatementps;privateResultSetrs;JDesktopPanedesktopTeste=null;privateStringlinhacomando=null;privateStringcnpjempresasolicitante=null;privateStringco_cidade_endereco=null;privatestaticResultSetdadosConsulta=null;JPanelpnlCentro=newJPanel();JPanelpnlBotoes=newJPanel();JButtonbtnVisualizar=newJButton("Visualizar");JButtonbtnCancelar=newJButton("Cancelar");JButtonbtnVoltar=newJButton("<|");JButtonbtnAvancar=newJButton("|>");JScrollPanescrDados=newJScrollPane();VectorvecColunasTabela=newVector();TelaCadastrotela=newTelaCadastro();publicStringidInspecao=null,cnpjSolicitante=null,inspecionada=null;publicTelaConsultar()throwsException{super("ANVISA - Consultar",true,true,false,true);setTitle("ANVISA - Consultas");setBounds((MenuInicial.LARGURA-750)/2,(MenuInicial.ALTURA-590)/2,750,530);criaLayout();montaDados();show();}privatevoidmontaDados(){try{//Retorna um resultset com os dados da consultacon=Conexao.getConexaoAccess();ps=con.prepareStatement("SELECT id_inspecao, nu_cnpj_empresa_solicitante, nu_cnpj_empresa_inspecionada, co_empresa_int_inspecionada FROM TB_INSPECAO");rs=ps.executeQuery();}catch(ClassNotFoundExceptionex){/** @todo Falta inserir uma api de Log */System.out.println(" Erro Class Not Found montaDados! "+ex.getMessage());}catch(SQLExceptionex){/** @todo Falta inserir uma api de Log */System.out.println(" Erro SQLException montaDados TelaConsultar! "+ex.getMessage());}VectorvecDados=newVector();VectorvecLinhaDados=null;booleanimportarsimnao=false;try{intco_int=0;while(rs.next()){vecLinhaDados=newVector();vecLinhaDados.add(rs.getString("id_inspecao"));vecLinhaDados.add(rs.getString("nu_cnpj_empresa_solicitante"));co_int=rs.getInt("co_empresa_int_inspecionada");if(co_int==0)vecLinhaDados.add(rs.getString("nu_cnpj_empresa_inspecionada"));elsevecLinhaDados.add(co_int+"");vecLinhaDados.add(newBoolean(importarsimnao));vecDados.add(vecLinhaDados);}importarsimnao=false;modelo.setDataVector(vecDados,vecColunasTabela);tblDados.setModel(modelo);}catch(SQLExceptione){e.printStackTrace();}SqlUtil.closeConnection(con,ps,rs);}privatevoidcriaLayout(){getContentPane().setLayout(newBorderLayout());getContentPane().add(BorderLayout.SOUTH,pnlBotoes);getContentPane().add(BorderLayout.CENTER,pnlCentro);pnlCentro.setLayout(newBorderLayout());pnlBotoes.setLayout(newFlowLayout());btnVoltar.addActionListener(this);btnVoltar.setToolTipText("Visualizar dados da Inspeção");pnlBotoes.add(btnVoltar);btnVisualizar.addActionListener(this);btnVisualizar.setToolTipText("Visualizar dados das empresas selecionadas");pnlBotoes.add(btnVisualizar);btnCancelar.addActionListener(this);btnCancelar.setToolTipText("Fechar Tela de Consulta");pnlBotoes.add(btnCancelar);btnAvancar.addActionListener(this);btnAvancar.setEnabled(false);pnlBotoes.add(btnAvancar);pnlCentro.add(BorderLayout.CENTER,scrDados);scrDados.setBorder(BorderFactory.createBevelBorder(1));scrDados.getViewport().add(tblDados,null);modelo=newDefaultTableModel(){publicClassgetColumnClass(intc){if(getValueAt(0,c)!=null)returngetValueAt(0,c).getClass();returnthis.getClass();}};vecColunasTabela.add("Inspeção");vecColunasTabela.add("Empresa Solicitante");vecColunasTabela.add("Empresa Inspecionada");vecColunasTabela.add("Visualizar");}
qualquer duvida referente ao codigo me da um toque abraço
D
Duende_MacabroPJ
Meu layout tava o padrão, mas mesmo colocando qualquer um tb nao da certo, essa é uma parte da classe:
Quando eu executo e abre o JInternalFrame da tudo blz mas a tabela fica como se fosse num tamanho padrão, da pra ver as colunas mas eu queria q ela ficasse extendida ja q JInternalFrame ja vai abrir maximizado. Tem alguma coisa de errado ae?
Valeu. :roll:
C
clvPJ
Olá,
Ja tentou:
setPreferredSize(newDimension(largura,latura));
Até!
J
JavaNightPJ
“Duende_Macabro”:
Fala galera, tenho um JInternalFrame e nele uma tabela q so tem 3 colunas ae quando maximizo fica muito feio, so as 3 no meio e a maior parte sem nada. Como aumenta a largura das colunas de uma tabela? Ja tentei tudo mas nao consigo. To usando DefaultTableModel mas posso mudar.
oláaa
ja tentou o método setPreferredWidth da classe TableColumn ???
só que pra calcular esse novo tamanho da coluna voce teria que acionar um component event pra calcular o novo tamanho do frame , fazer ums calculos pelo tamnho do mesmo , pra saber o quanto tem que aumentar os 3 campos de sua tabela
[]'s
D
Duende_MacabroPJ
Valeu, JavaNight aquilo funciona mas acho q eu nao fiz a pergunta direito, nao é exatamente as colunas q eu quero aumentar, é a largura da tabela geral, perguntei as colunas pq eu achava q se aumentando as colunas aumentava tb a tabela mas nao acontece. setPreferredSize da pau, nao compila :sad: