PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Deklaration eines 2-dimensionales Array's aus JTextField


josefYY
2009-04-04, 20:25:28
Hallo
Versuch gerade in Java ein 2-dimensionales Array zu deklarieren bei denen die Elemente allesamt JTextField sind.
Hatte dabei folgendes versucht:

ArrayList<JTextField> jtfArray[][] = new ArrayList[9][9];

Später versuch ich dann die einzelnen JTextField-Elemente zu initialisieren:

for (int i = 0; i <= 8; i++) {
___constraints.gridy = i+1;
___for (int j = 0; j <= 8; j++) {
______constraints.gridx = j;
______jtf_Array[i][j] = new JTextField("",1);
___}
}


Hier bekomme ich aber den Fehler:
" Type mismatch: cannot convert from JTextField to ArrayList<JTextField> "

Kann mir einer sagen was ich falsch mache?
Danke im Voraus :)

Senior Sanchez
2009-04-04, 20:39:51
Ehm, was willst du jetzt haben: eine ArrayList oder ein zweidimensionales Array von JTextFields?

Wenn du zweiteres willst, probier mal das hier:


JTextField jtfArray[][] = new JTextField[9][9];

josefYY
2009-04-04, 20:51:01
Ehm, was willst du jetzt haben: eine ArrayList oder ein zweidimensionales Array von JTextFields?

Wenn du zweiteres willst, probier mal das hier:


JTextField jtfArray[][] = new JTextField[9][9];

Muchas Gracias Senior Sanchez :smile:
Das wars gewesen was ich brauchte.

Ich glaub ich muss mir die Defintion einer ArrayList noch mal genauer anschauen.
Hab da ein paar Sachen durcheinander gewürfelt :redface:

Monger
2009-04-05, 02:53:26
Nur so mal als unqualifizierter Kommentar am Rande:
Schau dir mal ganz grundsätzlich das Collections Framework (http://java.sun.com/docs/books/tutorial/collections/index.html) an!

Imho sind Arrays nur für sehr spezielle Fälle überhaupt sinnvoll. Es kommt nur ganz selten vor, dass du zum Initialisierungszeitpunkt bereits weißt wie groß deine Collection ist, und dass du weder Einfüge- noch Löschoperationen machen willst. Sets, Lists und Maps werden wesentlich häufiger gebraucht.

Der_Donnervogel
2009-04-05, 21:09:11
Imho sind Arrays nur für sehr spezielle Fälle überhaupt sinnvoll. Es kommt nur ganz selten vor, dass du zum Initialisierungszeitpunkt bereits weißt wie groß deine Collection ist, und dass du weder Einfüge- noch Löschoperationen machen willst.Die Java-Arrays braucht man vor allem dann wenn Performance eine wichtige Rolle spielt (und man mit Zahlen arbeitet). In dem Fall ist die Verwendung eines Arrays deutlich schneller. Die ganzen Collections können ja mit den skalaren Typen (int, double, usw.) nicht umgehen. Dazu kommt dass die Zugriffe über get und set-Methoden auch Zeit kosten. Ansonsten ist aber sicher die Verwendung von Collections aller Art vorzuziehen.
Sets, Lists und Maps werden wesentlich häufiger gebraucht.Bei mir nicht ;) Wobei ich vermute mit "Lists" ist die LinkedList gemeint. Ich verwende zwar auch sehr häufig das List-Interface, aber meistens mit der ArrayList und nicht mit der LinkedList, da oft weder Einfügen (mit Verdrängung) noch Löschen eine Rolle spielt. Was genau man wie oft verwendet hängt auch stark davon ab was man programmiert. Beispielsweise brauche ich Sets nur sehr selten, viel seltener als eine ArrayList.