TabelModel

Status
Nicht offen für weitere Antworten.
K

Knödel

Gast
Leider zeigt es immer einen Syntaxfehler an. Irgendwo muss ein Fehler stecken. Ich weiß leider nicht wo.

Code:
import javax.swing.table.*;

/**
 * @author Stefan Knöpfle
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
class TableModel {

TableModel dataModel = new AbstractTableModel()
{
	public int getColumnCount()
	{
	return columnNames.length;
	}
	public int getRowCount()
	{
	return tableData.lenght;
	}
	public Object getValueAt (int row, int col)
	{
	return tableData[row][col];
	}
	public String getColumnName(int column)
	{
	return (String) columnNames[column];
	}
	public Class getColumnClass(int c)
	{
	return getValueAt(0, c).getClass();
	}
	public boolean isCellEditable(int row, int col)
	{
	return true;
	}
	public void setValueAt(Object aValue, int row, int column)
	{
		tableData[row][column] = aValue;
		fireTableDataChanged();
	}
	
	
}
}
 
B

Beni

Gast
Man sollte nicht eine Klasse "TableModel" nennen, ein "TableModel" importieren, und ein "TableModel" benutzen. Denn das alles ist sehr mehrdeutig.

Nenn die Klasse halt z.B. MyTableModel (ist leider nicht sehr originell), einfach irgendwas einzigartiges und aussagekräftiges.

Und dann benutzt du eine ganze Menge Variablen die niergends definiert sind...

Ein wichtiges Semikolon fehlt:
Code:
class MyTableModel {

  TableModel dataModel = new AbstractTableModel(){
     ...
  }; // <<< hier   
}

So. Ich weiss nicht was du damit Coden willst, aber du kannst MyTableModel auch direkt von AbstractTableModel ableiten (ist vielleicht einfacher)

Code:
 public class MyTableModel extends AbstractTableModel{
  ...
}

mfg Beni
 
K

Knödel

Gast
Wenn ich das direkt so mache, zeigt er mir bei den return fehler an. Sind das die Variablen die ich noch definieren muss und wenn ja wie?


Code:
public class MyTableModel extends AbstractTableModel{


	public int getColumnCount()
	{
	return columnNames.length;
	}
	public int getRowCount()
	{
	return tableData.lenght;
	}
	public Object getValueAt (int row, int col)
	{
	return tableData[row][col];
	}
	public String getColumnName(int column)
	{
	return (String) columnNames[column];
	}
	public Class getColumnClass(int c)
	{
	return getValueAt(0, c).getClass();
	}
	public boolean isCellEditable(int row, int col)
	{
	return true;
	}
	public void setValueAt(Object aValue, int row, int column)
	{
		tableData[row][column] = aValue;
		fireTableDataChanged();
	}
	
	
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben