Pois sou Iniciante da java… procurando demais do site não encontrei comando do barra de rolagem de horizontal.
aguardo pelo sua ajuda…
Pois sou Iniciante da java… procurando demais do site não encontrei comando do barra de rolagem de horizontal.
aguardo pelo sua ajuda…
Você precisa pegar o modo de auto resize e desligar:
http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html#setAutoResizeMode(int) - use JTable.AUTO_RESIZE_OFF
e obviamente você deve ter incluído a JTable dentro de uma JScrollPane.
De qualquer maneira, para dúvidas sobre JTable, procure aqui:
http://www.exampledepot.com/search/luceneapi_node/jtable
e aqui:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
Quando você coloca uma JTable dentro de um ScrollPane, por padrao a tabela se ajusta de modo a caber dentro do scrollPane sem criar a barra horizontal.
Para que isso nao ocorra, use suaTabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); para dizer que a tabela nao deve se acomodar.
Use tambem: suaTabela.getColumnModel().getColumn(indiceDaColuna).setPreferredWidth(tamanho); para estipular o tamanho da coluna, lembrando que mesmo voce estipulando o tamanho da coluna, é possivel o usuario redimensionar como quiser, se você não quiser que ele redimensione, use: suaTabela.getTableHeader().setResizingAllowed(false);
Espero ter ajudado…
private JComponent getAreaTable(){
JPanel jpa = new JPanel();
//cria o modelo da tabela
DefaultTableModel modelo = new DefaultTableModel();
// cria o tabela
JTable tabela = new JTable(modelo);
//adicionar cada a coluna e nome do em cada coluna
modelo.addColumn("Código");
modelo.addColumn("Nome");
modelo.addColumn("Sexo");
modelo.addColumn("Data de Nascimento");
modelo.addColumn("CPF");
modelo.addColumn("Endereço");
modelo.addColumn("Núm.");
modelo.addColumn("Compl.");
modelo.addColumn("Estado Civil");
try{
// criar statement e conexa o SQL
Statement stm = conexaoBanco.createStatement();
//compilar o sql aonde que vc seleciona os dados.
String SQL = "Select idcliente, nome,sexo,datanasc,cpf,end,numend,comp,estadocivil from cliente";
// a executar SQL e resulta a tela
ResultSet rs = (ResultSet) stm.executeQuery(SQL);
// net() que procurar aonde as informações de dado
while(rs.next()){
// encontrar atribuito da SQL e guardar as variavel.
int id = rs.getInt("idcliente");
String name = rs.getString("nome");
String sex = rs.getString("sexo");
String datnasc = rs.getString("datanasc");
String mcpf = rs.getString("cpf");
String ender = rs.getString("end");
int numero = rs.getInt("numend");
int compl = rs.getInt("comp");
String ec = rs.getString("estadocivil");
//colocar cada atribuito em cada da coluna enquanto informa os dados.
modelo.addRow(new Object[]{new Integer(id),name,sex,datnasc,mcpf,ender,numero,compl,ec});
}
}catch(SQLException ex){
System.out.println("SQLExceptio: "+ex.getMessage());
System.out.println("SQLState: "+ex.getSQLState());
System.out.println("VendoError: "+ex.getErrorCode());
}
catch(Exception ex){
System.out.println("Problemas ao tentar conectar com o banco de dados ");
}
tabela.setPreferredScrollableViewportSize(new Dimension(500,500));
tabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrool = new JScrollPane(tabela);
jpa.add(scrool);
return jpa;
}
eu tentei a programar e não apareceu barra de rolagem horizontal e vertical, e tinha faltando a coluna foi cortado.
aguardo a sua responda…
Hum… por que é que você fez isso? Experimente tirar isso. Desse jeito não vai aparecer nenhuma barra de rolagem mesmo. Quem tem de determinar o tamanho adequado da tabela é quem hospeda a tabela, não ela mesma.
tabela.setPreferredScrollableViewportSize();new Dimension(500,500)
Hum… por que é que você fez isso? Experimente tirar isso. Desse jeito não vai aparecer nenhuma barra de rolagem mesmo. Quem tem de determinar o tamanho adequado da tabela é quem hospeda a tabela, não ela mesma.
já testei a tirar e funcionou corretamente também apareceu barra de rolagem… Obrigado!!
sabe? qual comando para largura da coluna na tabela?
Valeu gqferreira, consegui resolver minha dúvida!!
Até mais!