Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » Tabellen in Java

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.02.2004, 10:46 Uhr
~Österreini
Gast


Halo.

Ich hab einige Fragen zu den Tabelle in Java.. Hab zwar Tutorial und die
API, aber ich check die irgendwie überhaupt nicht.

- Wie kann ich den Header erstellen und wie wird er auch angezeigt?
- Muss man in eine Coloumn immer die selben Datentypen reingeben?
- Wie kann ich eine row hinzufügen?
- Kann sich die Tabelle von selbst obptimal einstellen? (der Zeichenketten-Länge entsprechend)
- Wie kann ich die Spalten und die Zellen-Selektion disablen?
- ...

Bitte helft mir!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.02.2004, 17:11 Uhr
Österreini



OOoook. Hab jetzt einige Sachen von selber lösen können.

Ich hab jetzt nur noch ein Problem:

Ich müsste die Tabelle dynamisch vergrößern. Ich weiß also nicht, wie viele Zeilen ich reingeben werde.

Funktioniert das irgendwie? Hab nämlich keine Methode oder so gefunden, die so etwas machen kann!
--

Your Anime & Manga-Source ->
www.ani-area.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.02.2004, 17:32 Uhr
virtual
Sexiest Bit alive
(Operator)


Steht alles im Tuorial bei Sun zum Thema JTable
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.02.2004, 18:23 Uhr
Österreini



void addRowSelectionInterval(int index0, int index1)

Adds the rows from index0 to index1, inclusive, to the current selection.

Könnte das vielleicht die Lösung sein?
--

Your Anime & Manga-Source ->
www.ani-area.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.02.2004, 12:16 Uhr
Österreini



Hm. OK, das wars nicht.

Allgemeine Frage: Kann man von 2 verschiedenen Klassen erben?

Denn bei "AbstractTableModel" funktionieren folgende 3 Methoden:


Code:
class MyTableModel extends AbstractTableModel{
        
        final String spaltennamen[]={"Ausstelldat","..." usw...}
        final Object[][] data={{"","","","","","","","","","","","","","","","","",""}};
        
        public int getRowCount() { return data.length; }
        
        public int getColumnCount() { return spaltennamen.length; }
        
        public Object getValueAt(int row, int col) { return data[row][col]; }
}


Erbe ich von "DefaultTableModel", hab ich zwar meine benötigte Methode "addRow(Vector)", aber bei den 3 Methoden wirfts mir immer eine NullPointerException ...

Was hats da ? Bzw. was kann ich dagegen machen?

ACHJA: Ich kann die Spalten verschieben.. und hab keine Methode gefunden, die das disabelt..
--

Your Anime & Manga-Source ->
www.ani-area.de

Dieser Post wurde am 19.02.2004 um 12:18 Uhr von Österreini editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.02.2004, 13:27 Uhr
virtual
Sexiest Bit alive
(Operator)


Hallo,

erstmal nein zur Frage, ob man von mehreren Klassen erben kann. das geht in Java nicht. Du mußt der JTable eine Klasse geben, die das TableModel interface implementiert. dies kann jede klasse sein, die die vom TableModel geforderten Methoden sinnvoll implementiert.

Die MyTableModel Class sollte es doch schon tun, was stört dich an ihr?

Die NullPointerException bei dem DefaultTableModel würde ich darauf zurückführen, daß Du den falschen Constructor nimmst, vermutlich den Defaultconstructor. Du mußt beim DefaultTable Model die Daten mit setDataVector oder so ähnlich setzen bzw. im Constructor bereitstellen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.02.2004, 19:22 Uhr
Österreini



Erstmals Danke für die Antwort. Hab das ganze jetzt ganz simpel durch


Code:
DefaultTableModel model = new DefaultTableModel(spaltennamen,0);
gelöst.

Zum Hinzufügen einer Row verwende ich die in DefaultTableModle implementierte Methode addRow(Vector)

So... Jetzt funktioniert zwar das ganze mal, aber nachdem ich das ganze geadded hab, kommt eine Exception... und zwar:


Code:
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
        at java.util.Vector.elementAt(Vector.java:431)
        at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:618)
        at javax.swing.JTable.getValueAt(JTable.java:1771)
        at javax.swing.JTable.prepareRenderer(JTable.java:3724)


uuuuuuuuund so weiter.. Leider zeigts keine Zeile in meinem Programm selber an.

Und jetzt meine Frage: Da unter Anderem die Exception bei "getValueAt" passiert, kann es doch sein, dass .addRow(Vector) die Anzahl der Reihen nicht erhöht...

Was kann sonst noch der Fehler sein??
--

Your Anime & Manga-Source ->
www.ani-area.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.02.2004, 18:36 Uhr
Österreini



OK. Dieses Problem hab ich jetzt auch gelöst

Jetzt möcht ich nur noch wissen:
- Wie kann ich es abschalten, dass die Spalten des Headers verschoben werden können (ohne setCellSelectionEnabled ) und die Zeilen nicht mehr editierbar sind?

- Ist der List-Selection-Listener von selbst implementiert? Möchte nämlich nur Zeilen markieren können...!
--

Your Anime & Manga-Source ->
www.ani-area.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: