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

[SWING] JPanel max Anzahl of Components ???

0 views
Skip to first unread message

Daniel Wilmer

unread,
Oct 1, 2002, 5:18:19 AM10/1/02
to
Hallo,

ich habe ein riesiges Problem.

Ich nutze ein JPanel um eine Dateiliste anzuzeigen.
Als Layout habe ich das GridBagLayout gewaehlt.

In jeder Zeile meines Panel liegen zwei JLabel,
eines enthaelt den Dateinamen, ein weiteres die
Groesse der Datei.

Bei wenigen Dateien ist alles kein Problem,
aber bei mehr als 500 Zeilen gibt es eine
supertolle:
ArrayIndexOutOfBoundsException (siehe unten)

Noch etwas merkwuerdiges. Wenn ich das Panel erzeuge,
also mit Daten fuelle, gibt es keine Exception.
Erst wenn ich es Anzeige, also den Dialog der das
Panel enthaelt sichtbar mache, tritt diese Exception auf.

Wer weiss denn was das bedeutet?

bye, Daniel ...



java.lang.ArrayIndexOutOfBoundsException
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:795)
at java.awt.GridBagLayout.preferredLayoutSize(GridBagLayout.java:558)
at java.awt.Container.preferredSize(Container.java:833)
at java.awt.Container.getPreferredSize(Container.java:817)
at javax.swing.JComponent.getPreferredSize(JComponent.java:992)
at javax.swing.ViewportLayout.preferredLayoutSize(ViewportLayout.java:76)
at java.awt.Container.preferredSize(Container.java:833)
at java.awt.Container.getPreferredSize(Container.java:817)
at javax.swing.JComponent.getPreferredSize(JComponent.java:992)
at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:460)
at java.awt.Container.preferredSize(Container.java:833)
at java.awt.Container.getPreferredSize(Container.java:817)
at javax.swing.JComponent.getPreferredSize(JComponent.java:992)
at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:799)
at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:1198)
at java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:628)
at java.awt.Container.layout(Container.java:686)
at java.awt.Container.doLayout(Container.java:676)
at java.awt.Container.validateTree(Container.java:750)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validateTree(Container.java:757)
at java.awt.Container.validate(Container.java:728)
at java.awt.Dialog.conditionalShow(Dialog.java:308)
at java.awt.Dialog.show(Dialog.java:355)

Michael Borgwardt

unread,
Oct 1, 2002, 5:27:06 AM10/1/02
to
Daniel Wilmer wrote:

> Ich nutze ein JPanel um eine Dateiliste anzuzeigen.
> Als Layout habe ich das GridBagLayout gewaehlt.
>
> In jeder Zeile meines Panel liegen zwei JLabel,
> eines enthaelt den Dateinamen, ein weiteres die
> Groesse der Datei.
>
> Bei wenigen Dateien ist alles kein Problem,
> aber bei mehr als 500 Zeilen gibt es eine
> supertolle:
> ArrayIndexOutOfBoundsException (siehe unten)
>
> Noch etwas merkwuerdiges. Wenn ich das Panel erzeuge,
> also mit Daten fuelle, gibt es keine Exception.
> Erst wenn ich es Anzeige, also den Dialog der das
> Panel enthaelt sichtbar mache, tritt diese Exception auf.
>
> Wer weiss denn was das bedeutet?

http://java.sun.com/j2se/1.4.1/docs/api/java/awt/GridBagLayout.html#MAXGRIDSIZE

Mußt Du wohl einen anderen Layout-Manager verwenden...

Daniel Wilmer

unread,
Oct 1, 2002, 5:35:52 AM10/1/02
to
In article <anbpqg$crnln$1...@ID-161931.news.dfncis.de>, Michael Borgwardt wrote:
>
> Mußt Du wohl einen anderen Layout-Manager verwenden...
>

Danke fuer die schnelle Hilfe :-)

Daniel Wilmer

unread,
Oct 1, 2002, 5:38:17 AM10/1/02
to
In article <anbpqg$crnln$1...@ID-161931.news.dfncis.de>, Michael Borgwardt wrote:
>
> Mußt Du wohl einen anderen Layout-Manager verwenden...
>

Und ich dachte immer GridBagLayout ist *DAS* Layout!

:-)

Peter Büttner

unread,
Oct 1, 2002, 9:12:13 AM10/1/02
to
Hallo Daniel

>Ich nutze ein JPanel um eine Dateiliste anzuzeigen.
>Als Layout habe ich das GridBagLayout gewaehlt.
>
>In jeder Zeile meines Panel liegen zwei JLabel,
>eines enthaelt den Dateinamen, ein weiteres die
>Groesse der Datei.
>
>Bei wenigen Dateien ist alles kein Problem,
>aber bei mehr als 500 Zeilen gibt es eine
>supertolle:
>ArrayIndexOutOfBoundsException (siehe unten)

Das könnten ja auch tausende Dateien werden...

[...]

>Wer weiss denn was das bedeutet?

Ja ich. Du willst eine JTable verwenden.

Dann kannst du auch einfach noch mal das Datum oder
Attribute hinzufügen.

Peter

0 new messages