JTable

4 respostas
R

Por favor,

esse código desecreve a entrada de dados por uma variavel, mas como
é que faz para a entrada de dados para a tabela ser pela JTable.

import javax.swing.<em>;

import javax.swing.table.</em>;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.Dimension;

import java.sql.*;

public class TableExample3 {

public TableExample3() { JFrame frame = new JFrame(“Table”);
frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);}});

////--------------------------

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       Connection con = DriverManager.getConnection (
   "jdbc:odbc:age", "", "");
   Statement stmt = con.createStatement ();
   ResultSet rs = stmt.executeQuery ("SELECT Nome,Telefone,EMAIL FROM agendai ORDER BY Nome asc");

int RODRIGO = 0;
char names;

while(rs.next())
	 {



     RODRIGO = RODRIGO + 1;
}

rs.close();

stmt.close();

con.close();

System.out.println(RODRIGO);

}

catch (Exception ex) 
       {System.out.println(ex);}

final String[] names = {“Nome”,“Sobrenome”,“Cor”};

final Object[][] data = {

{Mark, Andrews, Red, new Integer(2), new Boolean(true)}, {Tom, Ball, Blue, new Integer(99), new Boolean(false)},	    {Alan, Chung, Green, new Integer(838), new Boolean(false)},	    {Jeff, Dinkins, Turquois, new Integer(8), new Boolean(true)},	    {Amy, Fowler, Yellow, new Integer(3), new Boolean(false)},	    {Brian, Gerhold, Green, new Integer(0), new Boolean(false)},	    {James, Gosling, Pink, new Integer(21), new Boolean(false)},

{David, Karlton, Red, new Integer(1), new Boolean(false)},	    {Dave, Kloba, Yellow, new Integer(14), new Boolean(false)},

{Peter, Korn, Purple, new Integer(12), new Boolean(false)},    {Phil, Milne, Purple, new Integer(3), new Boolean(false)},

{Dave, Moore, Green, new Integer(88), new Boolean(false)},

{Hans, Muller, Maroon, new Integer(5), new Boolean(false)},

{Rick, Levenson, Blue, new Integer(2), new Boolean(false)},

{Tim, Prinzing,Blue, new Integer(22), new Boolean(false)},

{Chester, Rose, Black, new Integer(0), new Boolean(false)},

{Ray, Ryan, Gray, new Integer(77), new Boolean(false)},

{Georges, Saab, Red, new Integer(4), new Boolean(false)},

{Willie, Walker, Phthalo Blue, new Integer(4), new Boolean(false)},

{Kathy, Walrath, Blue, new Integer(8), new Boolean(false)},

{Arnaud, Weber, Green, new Integer(44), new Boolean(false)}

};

TableModel dataModel = new AbstractTableModel() {

public int getColumnCount() { return names.length;}

       public int getRowCount() { return data.length;}
       public Object getValueAt(int row, int col) {return data[row][col];}
public String getColumnName(int column) {return names[column];}

public Class getColumnClass(int col) {return getValueAt(0,col).getClass();}

public boolean isCellEditable(int row, int col) {return (col==4);}

public void setValueAt(Object aValue, int row, int column) {               data[row][column] = aValue;

}        };

JTable tableView = new JTable(dataModel);

//TableSorter sorter = new TableSorter(dataModel); //JTable tableView = new JTable(sorter); //sorter.addMouseListenerToHeaderInTable(tableView);

JScrollPane scrollpane = new JScrollPane(tableView);

scrollpane.setPreferredSize(new Dimension(800, 800));

frame.getContentPane().add(scrollpane);

frame.pack();

frame.setVisible(true);

}

public static void main(String[] args) { new TableExample3();

}}

4 Respostas

cv1

Voce poderia postar o menor exemplo de codigo possivel que demonstra o seu problema? Nao ficou claro o que vc quer fazer.

N

De preferência usar a tag [code]

R

Quero mostrar em uma JTable o resultado de uma consulta Select

cv1

Facil: crie uma classe que estende AbstractTableModel, implemente os metodos e coloque ali mais alguns (ou talvez uns construtores, sei la). Depois chame JTable.setModel(meuTableModel). Aqui tem um tutorial bem joinha:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

Criado 30 de dezembro de 2003
Ultima resposta 7 de jan. de 2004
Respostas 4
Participantes 3