# JTable nachträglich in einen JScrollPane einfügen



## joe89 (15. Feb 2008)

Ich erzeuge in einer Klasse ein neues JTable Objekt


```
JTable jtable = new JTable(3,3)
```

(a) Wenn ich dieses Objekt per Parameter an den Konstruktor einer
anderen Klasse übergebe und dann dort - wie unten beschrieben - an einen JScrollpane
übergebe, erhalte ich folgende Fehlermeldungen.


```
JScrollPane jscrollpane = new JScrollpane.getViewport() .add(jtable)
```

Auszug aus der Fehlermeldung
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.getTableCellRendererComponent(Unknown Source)
	at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(Unknown Source)
	at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderHeight(Unknown Source)

(b) Wird aber in der add Methode selbst ein neues JTable objekt erzeugt


```
JScrollPane jscrollpane = new JScrollpane.getviewport.add(new JTable(3,3)
```

wird die Tabelle wie erwartet angezeigt.

Übrigens habe ich mit Verfahren (a) und einem JTree keine Probleme. 

Woran könnte das wohl liegen ?

Danke

joe89


----------



## Gast2 (15. Feb 2008)

```
JScrollPane jscrollpane = new JScrollpane(jtable);
```


```
JScrollPane jscrollpane = new JScrollpane();
scrollpane.getVieport.add(jtable);
```


----------



## L-ectron-X (15. Feb 2008)

Der Code für das Einfügen einer Komponente zur Laufzeit müsste so aussehen:

```
myScrollPane.setViewportView(myTable);
```


----------



## joe89 (15. Feb 2008)

Hallo L-ectron-X,

vielen Dank für deine Antwort.

Leider klappt es so auch nicht. 

Gruss und Danke

joe89


----------



## Guest (16. Feb 2008)

joe89 hat gesagt.:
			
		

> Ich erzeuge in einer Klasse ein neues JTable Objekt
> 
> 
> 
> ...



Sorry aber da stimmt doch was gewaltig nicht.,


```
JScrollPane jscrollpane = new JSrollpane();
jscrollpane.getViewport.add(jtable);
```

oder



```
JScrollPane jscrollpane = new JSrollpane();
jscrollpane.getViewport.add(new JTable(3,3));
```

oder


```
JScrollPane jscrollpane = new JSrollpane(jtable);
```

oder


```
JScrollPane jscrollpane = new JSrollpane(new JTable(3,3));
```


----------



## joe89 (16. Feb 2008)

Hallo Gast,

leider habe ich mich beim Abtippen aus dem Kopf etwas vertan. Der Code in meinem Programm war natürlich so,wie Du es beschrieben hast.

Leider bleibt das Problem weiterhin bestehen. Ich verstehe einfach nicht, dass ich an eine JScrollPane einen JTree ohne Fehlermeldung übergeben kann, aber keine JTable. 

Die o.g. Fehlermeldung erscheint nur, wenn ich die JTable gegen den JTree austausche. Das Debugging mit Eclipse brachte mir nur die Fehlermeldung "Source not found". Es sind aber alle Pfade und Bibliotheken vorhanden.

Gruss und Danke für die Antwort

joe89


----------



## Gast2 (16. Feb 2008)

naja bei der fehlermeldung wohl eher nicht...


----------

