Tabela (tamanho)

3 respostas
pedroroxd

Pessoal, eu estou usando 1 frame, que tem uma tabela...
A tabela ta conectada com o MySQL.

Ela chama cliente, e contem os campos: id,nome,endereço,telefone,email,usuario,senha,totaldaconta.

Ele cria a tabela certinho, mas o tamanho das colunas ficam igual para todos...
Ex: Id só ocupa 2 espaços +/- (1, ou 2, ou 15),sla
já o nome ocupa uns 30....

Não tem como eu setar a largura da coluna?

Aki ta quando cria a tabela
final DefaultTableModel modelo = new DefaultTableModel();
    JTable tabela = new JTable(modelo);
    // Cria as colunas

    modelo.addColumn("Id");
    modelo.addColumn("Nome");
    modelo.addColumn("Endereço");
    modelo.addColumn("Telefone");
    modelo.addColumn("Email");
    modelo.addColumn("Usuario");
    modelo.addColumn("Senha");
    modelo.addColumn("Total Da Conta");

    tabela.setPreferredScrollableViewportSize(new Dimension(950, 150));

    Container m = getContentPane();
    m.setLayout(null);
    JScrollPane scrollPane = new JScrollPane(tabela);
    scrollPane.setBounds(190,130,900,200); //Posição
    m.add(scrollPane);


    ConectaBanco k = new ConectaBanco();
    Connection conec = null;
    conec = k.conecta();
    CriaTabela criatabela = new CriaTabela();
    criatabela.criatabelao(conec, modelo);
Aki tá o criartabelao:
Statement stmt = connection.createStatement();

 String sql2 = "Select * from cliente";
ResultSet rs = stmt.executeQuery(sql2);

    while(rs.next()) {
    String[] dados = new String[8];
    dados[0] = rs.getString("Id"); //id=nome da coluna
    dados[1] = rs.getString("Nome");
    dados[2] = rs.getString("Endereço");
    dados[3] = rs.getString("Telefone");
    dados[4] = rs.getString("Email");
    dados[5] = rs.getString("Usuario");
    dados[6] = rs.getString("Senha");
    dados[7] = rs.getString("TotalDaConta");

    modelo.addRow(dados); //adiciona uma nova linha na JTable;
    }

3 Respostas

W

Dá uma olhada nesse link…
http://www.roseindia.net/software-tutorials/detail/18238

pedroroxd

wesley:
Dá uma olhada nesse link…
http://www.roseindia.net/software-tutorials/detail/18238

Malz, não entendo ingles =)

W

Melhor exemplo para seu caso:
http://www.roseindia.net/java/example/java/swing/setRowHightAndColBidth.shtml

Tente entender o código abaixo, que acredito ser o que precisa:

package br.atech.sigma.gop.esb;

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class setRowHightAndColBidth {
	public static void main(String[] args) {
		new setRowHightAndColBidth();
	}

	public setRowHightAndColBidth() {
		JFrame frame = new JFrame("Creating JTable Component Example!");
		JPanel panel = new JPanel();
		String data[][] = { { "vinod", "BCA", "A" }, { "Raju", "MCA", "b" },
				{ "Ranjan", "MBA", "c" }, { "Rinku", "BCA", "d" },
				{ "Rama anuj pathak tiwari", "PGDCA", "e" } };
		String col[] = { "Name", "Course", "Grade" };
		JTable table = new JTable(data, col);
		// first column width
		TableColumn column = table.getColumnModel().getColumn(0);
		column.setPreferredWidth(150);
		// set all rows height
		table.setRowHeight(20);
		// set specific row height
		table.setRowHeight(2, 50);
		// Select single cell
		table.setCellSelectionEnabled(true);
		panel.add(table, BorderLayout.CENTER);
		frame.add(panel);
		frame.setSize(300, 200);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

Qualquer duvida pergunta aí…

Criado 1 de setembro de 2009
Ultima resposta 1 de set. de 2009
Respostas 3
Participantes 2