Box[] myBox ?

Status
Nicht offen für weitere Antworten.

xpucto

Mitglied
Hallo,

in einer Applikation möchte ich eine reihe von Komponenten automatisch erzeugen. mit einer "for" Schleiife erzeuge ich ohne Problem Panel (JPanel[] myPanel = new JPanel[10]), Buttons, Labels etc.... Das Ganze schaut ungefähr so aus:
Code:
for (int i=0;i<aZeilen;i++) {
	for (int j=0;j<aSpalten;j++) {
	if (j==0) {
		q[i] = new JLabel(myQuestions[i][j]);
		bg[i] = new ButtonGroup();
		p[i] = new JPanel();
		p[i].setLayout(myLayout1);
		p[i].add(q[i]);
		add(p[i], myFlow);
Aber Boxen scheinen nicht mit Arrays arbeiten zu können. Was für Lösungen hätte ich? Ich hätte gern etwas, wie:
Code:
Box[] myBox = Box.createVerticalBox();
Aber so geht es leider nicht.

Danke.
 
R

Roar

Gast
xpucto hat gesagt.:
Aber Boxen scheinen nicht mit Arrays arbeiten zu können. Was für Lösungen hätte ich?

jo sicha, im konstruktor von box steht sowas wie: if(objectIsInArray()) throw Error("ey du sack");....

was funtkinoiert nicht?

edit nach deinem edit:

die methode liefert eine Box instanz zurück, du willst aber ein Box array, kla geht das nich
 

xpucto

Mitglied
Wenn ich schreibe:
Code:
Box[] myBox = Box.createVerticalBox();
[code]
bekomme ich die Meldung:
"incompatible types
found   : javax.swing.Box
required: javax.swing.Box[]
Box[] myBox = Box.createVerticalBox();"
 

mic_checker

Top Contributor
Nein.

Leg dein Array an , wie:

Code:
Box[] myBox = new Box[...]; //kommt drauf an wieviele du willst
....
myBox[0] = .....

Du musst schon angeben welchem Element des Arrays du welche Box zuordnen willst...
 

xpucto

Mitglied
Ok, ich habe es so gemacht:

Code:
Box[] myBox = new Box[20];
        for (int j=0;j<aSpalten;j++) {
                myBox[i] = new Box(BoxLayout.Y_AXIS);
Es scheint zu funktionnieren.
Danke.
 
Status
Nicht offen für weitere Antworten.

Oben