Datentypen int[][]-Array nach String[][]-Array konvertieren

crazyd

Mitglied
Moin,

ich habe ein 2D-int[][]-array das ich jetzt gern graphisch darstellen will. Nun hab ich das aber so verstanden, dass man mittels
Java:
JTable table = new JTable( array, title );
ein Array direkt als JTable-Inhalt verwenden kann. Allerdings muß es sich anscheinend um ein String-Array handeln.

Wie konvertiere ich jetzt mein 2D int-Array nach 2D String-Array?
 
Durch eine verschachtelte Schleife kannst Du durch das int[][] gehen und ein String[][] erzeugen. Die einzelnen ints kannst Du mit String.valueOf(...) in Strings umwandeln.
 
Ah merci!
Ich probiere das gleich mal aus. Dachte es gibt irgend eine einfachere Möglichkeit, die ich nur nicht gefunden habe.
Vielleicht kann man aber auch an dem JTable ansetzen? Gibt es keine Möglichkeit das int-Array möglichst einfach graphisch darzustellen?

Viele Grüße
 
möglichst einfach wäre es inne console zu packen, geht natürlich nur wenn ein unterarray nicht länger als 80 zeichen ist

aka
1:100-25-13-325-24
2:23-13-35-75-34
....

kann man relativ einfach machen, JTables sind ansonsten schon der richtige weg, aber über einfach darf man hier streiten.
 
Eine JTable benötigt ein Array vom Typ Object[][] - es muss nicht spezifisch String sein.

Woher kommt das int Array? Kann man es nicht gleich als Object Array händeln? Oder vielleicht als Integer[][]? Dann kann die JTable damit umgehen.
 
Ich probiere das gleich mal aus. Dachte es gibt irgend eine einfachere Möglichkeit, die ich nur nicht gefunden habe.
Den Konsturktor den du da oben genannt hast, könntest du benutzen wenn du aus deinem int[][]-Array einfach ein Integer[][]-Array machen würdest 🙂
Ansonsten gibts auch immer die Möglichkeit sein eigenes Model zu schreiben!
Wenn du wirklich nur etwas anzeigne willst und sich die Daten nicht ändern könntest:
Java:
		AbstractTableModel model = new AbstractTableModel() {
			int[][] werte = new int[][]{{1,2,3},{4,5,6}};

			@Override
			public int getColumnCount() {
				return werte[0].length;
			}

			@Override
			public int getRowCount() {
				return werte.length;
			}

			@Override
			public Object getValueAt(int rowIndex, int columnIndex) {
				return werte[rowIndex][columnIndex];
			}	
		};
		JTable table = new JTable(model);
z.B. benutzen! oder oder oder... 🙂
 
Vielen Dank für die Hilfe.
Das Array wird jetzt gleich als Integer abgeändert. Hätte ich auch gleich drauf kommen können :rtfm:
Ich kann den Inhalt jetzt als JTable darstellen. Juhu.

Jetzt muß ich nur noch herrausfinden wie ich Zelleninhalte der JTable nachträglich abändern kann und wie ich eine einzige Spalte mit anderen Elementen (Buttons oder TextField) befüllen kann die dann vom Benutzer bedient werden können.

Dieses Forum ist echt toll, so schnell wie man hier Hilfe bekommt!

Viele Grüße
 
Jetzt muß ich nur noch herrausfinden wie ich Zelleninhalte der JTable nachträglich abändern kann
Z.B. mit dem o.g. Model + einer set-Methode die dann auch eine der fire-Methoden aufruft (siehe How to Use Tables (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components))
und wie ich eine einzige Spalte mit anderen Elementen (Buttons oder TextField) befüllen kann die dann vom Benutzer bedient werden können.

steht auch im o.g. Link =)
 

Neue Themen


Zurück
Oben