Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[SWING] JTable bleibt leer

10 views
Skip to first unread message

Daniel Völkerts

unread,
Aug 20, 2001, 11:26:48 AM8/20/01
to
Hallo Ng,

folgendes Problem: Ich habe eine eigene Klasse mit folgender Methode:

public String[][] getTable()
{
PBookEntry pbe = null;
Iterator it = this.iterator();
String[][] tmp = new String[this.size()][5];
int i = 0;

while(it.hasNext())
{
pbe = (PBookEntry)it.next();
tmp[i][0] = pbe.getForename();
tmp[i][1] = pbe.getLastname();
tmp[i][2] = pbe.getPhone();
tmp[i][3] = pbe.getMobil();
tmp[i][4] = pbe.getEmail();
i++;
}

return tmp;
}

Wie gewollt liefert sie mir ein zwei dimensionales Stringarray, welches ich
gerne in einer JTable darstellen lassen würde. Mein Aufruf von

JTable tblData = new JTable(curPhoneBook.getTable(),COLHEAD);

liefert mir eine Tabelle mit der richten Anzahl von Zeilen, allerdings
befinden sich die Text nicht in den Spalten. Wer kann helfen?

Für Hilfe dankbar.

Daniel


Alexander Elsholz

unread,
Aug 20, 2001, 11:54:12 AM8/20/01
to
Hi,

"Daniel Völkerts" <dvoel...@web.de> wrote in message
news:9lraiv$18i4$1...@wrath.news.nacamar.de...


> Hallo Ng,
>
> folgendes Problem: Ich habe eine eigene Klasse mit folgender
Methode:
>

> Wie gewollt liefert sie mir ein zwei dimensionales Stringarray,
welches ich
> gerne in einer JTable darstellen lassen würde. Mein Aufruf von

hast du hier mal den Inhalt des StringArraysgeprüft???

> JTable tblData = new JTable(curPhoneBook.getTable(),COLHEAD);

und hier auch??

> liefert mir eine Tabelle mit der richten Anzahl von Zeilen,
allerdings
> befinden sich die Text nicht in den Spalten. Wer kann helfen?

wahrscheinlich stehen in deinem Array nur Leerstrings (sonst würds
nähmlich ne NullPointerException geben)

mfg alex

Daniel Völkerts

unread,
Aug 20, 2001, 12:06:12 PM8/20/01
to
Hallo Alexander,

klaro habe ich das überprüft, sonst würde ich ja die ng nicht damit
belasten. *g*
Mein Objekt füllt das StringArray mit den getXXX Methoden.

auch die funktion getTable() scheint ok, deswegen bin ich ja verzweifelt.
bei mir in den büchern kann ich auch nichts dazu finden. die meisten
beispiele beziehen sich
auf anonyme klassen. das hilft mir nicht weiter...

trotzdem danke.

glg
Daniel


Alexander Elsholz

unread,
Aug 20, 2001, 2:30:13 PM8/20/01
to
Hi,

"Daniel Völkerts" <dvoel...@web.de> wrote in message

news:9lrcsr$19ib$1...@wrath.news.nacamar.de...


> Hallo Alexander,
>
> klaro habe ich das überprüft, sonst würde ich ja die ng nicht damit
> belasten. *g*

man kann ja nie wissen *bg*

> Mein Objekt füllt das StringArray mit den getXXX Methoden.
>
> auch die funktion getTable() scheint ok, deswegen bin ich ja verzweifelt.
> bei mir in den büchern kann ich auch nichts dazu finden. die meisten
> beispiele beziehen sich
> auf anonyme klassen. das hilft mir nicht weiter...

Hmm, versuch mal statt dem 2-d Array ein Tablemodel zu nehmen...

mfg alex


Tobias Henz

unread,
Aug 20, 2001, 3:21:44 PM8/20/01
to
Hallo Daniel

Habe das mal im JDeveloper nachgebaut:


import javax.swing.*;
import java.awt.*;

/**
* A Swing-based top level window class.
* <P>
* @author Tobias Henz
*/
public class Frame1 extends JFrame {
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JTable jTable1;
Object[] COLHEAD = new Object[5];

/**
* Constructs a new instance.
*/
public Frame1() {
super();
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}

/**
* Initializes the state of this instance.
*/
private void jbInit() throws Exception {

COLHEAD[0] = "1";
COLHEAD[1] = "2";
COLHEAD[2] = "3";
COLHEAD[3] = "4";
COLHEAD[4] = "5";

jTable1 = new JTable(this.getTable(),COLHEAD);

jPanel1.add(jTable1, null);

this.getContentPane().setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.getContentPane().add(jPanel1, BorderLayout.CENTER);

}

public String[][] getTable()
{
String[][] tmp = new String[5][5];
int i = 0;

while(i<5)
{
tmp[i][0] = "A";
tmp[i][1] = "B";
tmp[i][2] = "C";
tmp[i][3] = "D";
tmp[i][4] = "E";
i++;
}

return tmp;
}
}
liefert eine korrekte Tabelle. Keine Ahnung wo bei dir der Fehler liegt.
Sind die Strings wirklich nicht 'leer' ?

Gruss Toby


"Daniel Völkerts" <dvoel...@web.de> schrieb im Newsbeitrag
news:9lraiv$18i4$1...@wrath.news.nacamar.de...

Daniel Völkerts

unread,
Aug 20, 2001, 3:16:19 PM8/20/01
to
Hey Ihr,

danke für eure Hilfe. Wie meistens lag der Fehler näher als angenommen.
Am Anfang war der String nicht leer. ich hatte aber ne funktion geschrieben,
welche mein tempöräres Objekt wieder auf "null" zurücksetzt. dabei hat er
mir in mein Array gehauen.

also mein fehler...

danke nochmal, jetzt funktioniert es wunderbar.

dieser jdeveloper, wo bekomme ich den?

danke.
daniel


Tobias Henz

unread,
Aug 21, 2001, 1:59:25 AM8/21/01
to
Hallo Daniel

Den JDeveloper bekommst du bei Oracle. Man kann ihn auf der Webseite
herunterladen http://otn.oracle.com/index.html. Du musst dich allerdings
(kostenlos) registrieren lassen.
Wie die Lizenz für kommerzielle Nutzung genau aussieht weiss ich nicht.

Gruss Toby

"Daniel Völkerts" <dvoel...@web.de> schrieb im Newsbeitrag

news:9lro1b$1ete$1...@wrath.news.nacamar.de...

Daniel Völkerts

unread,
Aug 21, 2001, 6:39:17 AM8/21/01
to
Danke für den Link zu JDeveloper.


Daniel


0 new messages