B
Blicknix
Gast
Hallo!
Hm ich versuche in einer Tabelle (2 spalten) Instanzen eines Objektes auszugeben, aber irgendwie klappt es nich so.
Hab als erstes eine Klasse wo das Objekt definiert wird (set, get, und die variablen), eine Klasse für die ausgabe und eine classe für das abstract table model. Wenn man auf den Button "klick" klickt soll er beispielsweise 2 instanzen erzeugen und die in der tabelle ausgeben.
//Fahrzeug.java die Klasse wo das Objekt definiert wird.
//Tabellenmodell.java das Tabellenmodell für die Table
//Guitest.java das ausgabeprogramm
Ich weiss nich so recht wie ich dem Table model die instanzen des objektes übergeben kann =/...
Danke für jede Hilfe
Mit fruendlichen Grüssen
Hm ich versuche in einer Tabelle (2 spalten) Instanzen eines Objektes auszugeben, aber irgendwie klappt es nich so.
Hab als erstes eine Klasse wo das Objekt definiert wird (set, get, und die variablen), eine Klasse für die ausgabe und eine classe für das abstract table model. Wenn man auf den Button "klick" klickt soll er beispielsweise 2 instanzen erzeugen und die in der tabelle ausgeben.
//Fahrzeug.java die Klasse wo das Objekt definiert wird.
Code:
class Fahrzeug{
private int geschwindigkeit;
private String farbe;
void setgeschwindigkeit(int g){geschwindigkeit=g;}
void setfarbe(String f){farbe=f;}
int getgeschwindigkeit(){return geschwindigkeit;}
String getfarbe(){return farbe;}
public Fahrzeug()
{
geschwindigkeit=100;
farbe="schwarz";
}
}
Code:
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import java.util.*;
public class Tabellenmodell extends AbstractTableModel{
String [] spalten={"Farbe", "Geschwindigkeit"};
Vector v=new Vector();
public String getColumnName(int col) {return spalten[col];}
public int getColumnCount() {
return spalten.length;
}
public int getRowCount() {
return v.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return null;
}
public void fahrzeughinzufuegen(Fahrzeug f){
v.add(f);
}
}
//Guitest.java das ausgabeprogramm
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.table.TableColumn;
class Guitest extends JFrame{
public Guitest()
{
super("Ausgabe-Test");
JPanel t=new JPanel();
t.setLayout(new BoxLayout(t, BoxLayout.Y_AXIS));
JPanel oben=new JPanel();
JTable table = new JTable(new Tabellenmodell());
JScrollPane scrollpane = new JScrollPane(table);
TableColumn colModel1 = table.getColumnModel().getColumn(0);
oben.add(scrollpane);
t.add(oben);
JPanel unten=new JPanel();
unten.setLayout(new BoxLayout(unten, BoxLayout.X_AXIS));
JButton klick=new JButton("klick");
klick.addActionListener( new ActionListener()
{
public void actionPerformed( ActionEvent a)
{
System.out.println("Werte in der Tabelle hinzufügen");
Fahrzeug f=new Fahrzeug();
// f.setfarbe("lila");
// System.out.println(f.getfarbe());
Fahrzeug l=new Fahrzeug();
// table.fahrzeughinzufuegen(Fahrzeug f); //Bei dem kommt ein Fehler :-(
}
});
unten.add(klick);
t.add(unten);
getContentPane().add(t);
}
public static void main(String[] args)
{
Guitest test=new Guitest();
test.setSize(500, 500);
test.show();
}
}
Ich weiss nich so recht wie ich dem Table model die instanzen des objektes übergeben kann =/...
Danke für jede Hilfe
Mit fruendlichen Grüssen