Article View: borland.public.jbuilder.java.swing
Article #8855JTable
From: sven goetgeluck
Date: Wed, 05 Jul 2000 00:00
Date: Wed, 05 Jul 2000 00:00
109 lines
3573 bytes
3573 bytes
Hi ,
must create at runtime a table with diffents count of rows , is this
possible?
all examples found have fixed rowlength , how can i insert a row ..
I use a jtable with a model
code is specified below:
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import javax.swing.DefaultCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.DefaultTableCellRenderer;
class MyTableModel extends AbstractTableModel {
final String[] columnNames = {"Object name",
"Total time",
"Green time",
"Yellow time",
"Orange time"};
final Object[][] data = null;
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return 0;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public boolean isCellEditable(int row, int col)
{ return true; }
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
public void addRow(Object[] rowdata)
{
fireTableCellUpdated(row, col);
}
/*
* JTable uses this method to determine the default renderer/
* editor for each cell. If we didn't implement this method,
* then the last column would contain text ("true"/"false"),
* rather than a check box.
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Don't need to implement this method unless your table's
* editable.
*/
}
/////////////Panel with table on it , here i must insert het rows
import java.awt.*;
import javax.swing.*;
public class workstationObjetsPanel extends JPanel {
BorderLayout borderLayout1 = new BorderLayout();
String[] cNames = {"ObjectName","Total time","Green time","Yellow
time","Orange time","Red time"};
JScrollPane scrollPane = null;
JTable objectsTable = new JTable(0,6);
MyTableModel tableModel = null;
public workstationObjetsPanel() {
try {
jbInit();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(borderLayout1);
// this.add(objectsTable, BorderLayout.CENTER);
Dimension dim = this.getSize();
tableModel = new MyTableModel();
objectsTable = new JTable(tableModel);
scrollPane = new JScrollPane(objectsTable);
objectsTable.setPreferredScrollableViewportSize(dim);
this.add(scrollPane,BorderLayout.CENTER);
Object[][] value = {{"test","test","test","test","test","test"}};
}
}
greeting Sven
sven.goetgeluck|@pandora.be
Technical Details
Message-ID:
<39633DA0.A4D28790@officeline.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 111d45,a00bcc41b12b3cb4,start X-Google-Attributes: gid111d45,public From: sven goetgeluck <sven@officeline.be> Subject: JTable Date: 2000/07/05 Message-ID: <39633DA0.A4D28790@officeline.be> X-Deja-AN: 642650078 Content-Transfer-Encoding: 7bit X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Trace: 5 Jul 2000 06:42:19 -0800, 127.0.0.1 MIME-Version: 1.0 Newsgroups: borland.public.jbuilder.java.swing