Funktionsstörung

Status
Nicht offen für weitere Antworten.

Java-Problems

Bekanntes Mitglied
Hallo,
hab ein kleines Problem:

Ich habe einen Array seats = new SeatPanel(); dieser wird jedoch leider immer in der schleife-überschrieben, sodass ich unendlich viele SeatPanels habe bei klick auf den Button.
What can I do?

Kann ich anstatt card.next auch irgendwie ein bestimmtes SeatPanel (nämlich das an der Stelle i) holen?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> What can I do?

nicht überschreiben, z.B. die Schleife aus dem Listener entfernen,

warum sie da drin war/ ist, was stattdessen zu tun ist usw. kann man so allgemein gar nicht vorhersehen,
worum gehts überhaupt, was genau soll der ActionListener machen?

> Kann ich anstatt card.next auch irgendwie ein bestimmtes SeatPanel (nämlich das an der Stelle i) holen?

seats
 

Java-Problems

Bekanntes Mitglied
es geht darum, dass ich einen Array habe mit SeatPanels (JPanels, die jeweils 30 Checkboxen platzieren) und die Arraygröße wird durch tag.getSize() definiert.
Das Problem mit dem rausholen aus der Schleife ist, dass der obige Code alles in dem Konstruktor des JFrame ist, d.h. ich kann die Befüllung nicht durch public-Methoden vornehmen, oder etwas doch, wenn ich das alles auserhalb des Konstruktors definiere???

Der ActionListener soll nun hergehen und bei dem Klick auf den Button "Ansicht laden" schauen, welches Element (i, da es auch von tag abgeleitet wird) in einer Combobox ausgewählt ist und dementsprechend dann das dazugehörige SeatPanel nebendran anzeigen.
 
S

SlaterB

Gast
> oder etwas doch, wenn ich das alles auserhalb des Konstruktors definiere???

du kannst Dinge dort definieren, wo du willst

> Der ActionListener soll nun hergehen [..]

tue was du für richtig hälst, ich kann keine Frage erkennen,
jedenfalls hast du nicht geschrieben 'der ActionListener soll ein SeatPanel-Array neu befüllen',
insofern bleibe ich bei meinem ersten Tipp, dass die entsprechende Schleife raus muss
 

Java-Problems

Bekanntes Mitglied
meinst du so?:
Oder wirft das vorraussichtlich auch Fehlermeldungen?

for (int i = 0; i < tag.getSize(); i++) {
seats = new SeatPanel();
overview.add(seats, "");
}
actionperforemd....
 
Zuletzt bearbeitet:
S

SlaterB

Gast
sieht chaotisch aus, aber zumindest nicht so oft new SeatPanel(),
inwiefern es deinem Programm weiterhiflt, musst du wissen
 

Java-Problems

Bekanntes Mitglied
also ich hab mir nun alle methoden angeschaut die CardLayout bietet, aber habe keine passende gefunden.
Immer nur: next, last, etc.

hat irgendjemand eine idee, wie ich das realisieren kann, dass ein bestimmtes Pane (i) angezeigt wird?
 

Schandro

Top Contributor
CardLayout#show(Container parent, String name);
musst dann natürlich für jeden Component einen dazugehörigen String festlegen und diesen beim adden übergeben.
 

Java-Problems

Bekanntes Mitglied
und nun die letzet Frage für heute:
kann ich ein panel oder aber auch gui-elemente mehreren Tabs bzw. anderen Panels zuweisen?
 

Schandro

Top Contributor
meinst du damit, ob du auf ein panel mehrere andere Panels draufadden kannst? das geht natürlich.
 

Java-Problems

Bekanntes Mitglied
nein ich mein damit folgendes:

oberstes: contentPane

TappedPane enthält: Panel main1 und Panel: main2

jetzt ist die Frage, ob ich mein Panel overview sowohl main1 als auch main2 hinzufügen kann, sodass sich dieses Panel nicht ändert.

Ich habe ausprobiert, den Content mit GridLayout (1,1) zu setzen, dann habe ich haber das Problem dass in meinen zwei Tabs die Elemente nichtmehr angezeigt werden.
 
S

SlaterB

Gast
AWT- und Swing-Komponenten können nur einmal angezeigt werden,
wenn sie irgendwo eingefügt werden, dann an ihrer vorherigen Position entfernt
 
Status
Nicht offen für weitere Antworten.

Oben