Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JTable -> row hinzufügen

Empfohlene Antworten

Veröffentlicht

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

hmmmm probiers mal mit addRow(Vector oder Array ect...);

Gruß Badgott

tja... wenn's so einfach wäre.... es gibt nur eine addColumns-funktion....

bigredeyes

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

hat sich erledigt

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!

Bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte, bitte!

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

Okay, werde ich machen, ich poste dann mal heute Abend den Anfang der Geschichte... ;)

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,B);

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,B);

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.