Veröffentlicht 16. Juli 200223 j hallo! mein jtable will nicht so wie ich! bis jetzt hab ich mal rausgefunden, wie man columns hinzufügt. aber ich will rows hinzufügen! hab da in der dok nichts gefunden! danke für eure hilfe... bigredeyes
16. Juli 200223 j tja... wenn's so einfach wäre.... es gibt nur eine addColumns-funktion.... bigredeyes
16. Juli 200223 j Hi Mit welchem Model arbeitest Du ? Das Model des JTables hälst alle Daten. Demnach musst Du diesem Model und nicht dem JTable die neuen Daten übergeben. Wenn dieses Model die Methode dafür nicht hat so schreibe Dir ein eigenes. Ist recht einfach, Du erbst einfach von dem AbstractTableModel und implementierst die erforderlichen Methoden Daten hälste am einfachsten in nem Vector oder so und hier kannste nun auch die Methode addRow (Daten) einfügen Gruß Erbeere
17. Juli 200223 j Original geschrieben von Erbeere Hi Mit welchem Model arbeitest Du ? Das Model des JTables hälst alle Daten. Demnach musst Du diesem Model und nicht dem JTable die neuen Daten übergeben. Wenn dieses Model die Methode dafür nicht hat so schreibe Dir ein eigenes. Ist recht einfach, Du erbst einfach von dem AbstractTableModel und implementierst die erforderlichen Methoden Daten hälste am einfachsten in nem Vector oder so und hier kannste nun auch die Methode addRow (Daten) einfügen Gruß Erbeere Könnte mir vielleicht irgendwer mal einen Beispielcode geben? Ich habe bisher immer nur ein neues JTable erstellt, wenn sich die Daten geändert haben oder wenn neue hinzugekommen sind... Bitte, bitte!
22. Juli 200223 j Bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte!
22. Juli 200223 j Hi Machen wir doch einen kleinen "Workshop" draus Schau Dir mal die Klasse "AbstractTableModel" an ! Von dieser Erbst Du und implementierst alle Methoden. Mach das mal so weit und poste den Code dann hier, wir schaun dann mal Deine Fehler an ! Erbeere
24. Juli 200223 j Okay, werde ich machen, ich poste dann mal heute Abend den Anfang der Geschichte...
27. Juli 200223 j Nur so zum Beispiel. zuerst das: ------------------ m_dataModel = new MyTableModel(m_RowCount , m_ColCount); m_table=new JTable(m_dataModel); dann: ------------------ package Cindypkg; import java.util.Vector; import javax.swing.table.AbstractTableModel; import java.util.ArrayList; import java.lang.Throwable; import javax.swing.event.TableModelEvent; import javax.swing.JCheckBox; public class MyTableModel extends AbstractTableModel { public MyTableModel(final int rowCount, final int columnCount) { m_rowCount =rowCount; m_columnCount=columnCount; /** * Zellen initialisieren */ mv_cells=new Vector(rowCount); for(int row=0;row<m_rowCount ;row++) { Vector tmpV=new Vector(columnCount); Boolean b =new Boolean(false); tmpV.add(0,; for(int col=1;col<m_columnCount;col++) { tmpV.add(col,""); } mv_cells.add(row,tmpV); } m_columnName=new String[m_columnCount]; } public void addRow() { Vector tmpRow=new Vector(); Boolean b =new Boolean(false); tmpRow.add(0,; for(int i=1;i<m_columnCount;i++) { tmpRow.add(i,""); } m_rowCount++; mv_cells.setSize(m_rowCount ); mv_cells.add(m_rowCount-1 ,tmpRow); /*this.fireTableChanged(new TableModelEvent(this ,m_rowCount-1 , m_rowCount , ALL_COLUMNS, INSERT)); */ } public int getColumnCount() { return m_columnCount; } public int getRowCount() { return m_rowCount ; } public Object getValueAt(int row, int col) { if(row<0 || row>mv_cells.size() || col<0 || col>((Vector)mv_cells.get(row)).size()) { //error return ""; } else { return ((Vector)mv_cells.get(row)).elementAt(col); } } public String getColumnName(int columnIndex) { return m_columnName[columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } public void setValueAt(Object aValue, int rowIndex, int columnIndex) { if(rowIndex <0 || columnIndex <0) { //error } else { /** * setting value */ ((Vector)mv_cells.get(rowIndex)).setElementAt(aValue ,columnIndex ); } } public void setColumnName(String name,int columnIndex) { m_columnName[columnIndex]=name; } public Class getColumnClass(int columnIndex) { if(columnIndex == 0) { return Boolean.class; } return String.class; } public void conclude() { if (true) { //closeConnection(); } m_concluded = true; } /** * Members */ private String[] m_columnName; private Vector mv_cells; private int m_columnCount; private int m_rowCount; private boolean m_concluded = false; private String m_tableName = null; private String[] m_columnTitles ; private String m_url = null; private String m_driverName = null; private String m_user = null; private String m_passwd = null; private boolean m_doDbUpdateImmediately = true; private boolean m_forceGivenTable = false; private boolean m_readOnly = false; private boolean m_tableChanged = false; private XMLCls m_XMLObj; private String m_pfad; }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.