Java JTable String append in bestimmte Zellen und Zeilen

HelloSpencer

Ensign
Registriert
März 2011
Beiträge
137
Hallo,

ich lade mit Java JDBC eine Tabelle mit Preisen von SQL Server. Da die Datenbank kein Währungssymbol hat, muss ich irgendwie versuchen String mäßig € zu appenden
.
Da ich aber die jar r2xml verwende, um die gesamte Tabelle auszugeben, weiß ich nicht wie ich das am einfachsten anstellen soll. Das TableModel kann ich nicht mit toString() bearbeiten, um dann "€" hinzuzufügen. Zum zweiten muss das Währungssymbol in Jeder Spalte, und Jeder Zelle ( bis aufs Datum) hinzugefügt werden. Ich habe leider keinen Plan wie ich das umsetzen kann. Alles was ich versuchte scheiterte.

Code:
				try {
					//SQL-Statement
					String AllQuery = "SELECT * FROM PRODUKTE";
					PreparedStatement pst=con.prepareStatement(AllQuery);
					ResultSet rs=pst.executeQuery();
					table.setModel(DbUtils.resultSetToTableModel(rs));
					
					
					
				} catch (Exception f) {
					f.printStackTrace();
				}
 
Wieso arbeitest du eigentlich nicht mit dem DefaultTableModel? Mit dem Model kannst du auf jede beliebige Row oder Coloumn zugreifen.
 
Hades85 schrieb:
Wieso arbeitest du eigentlich nicht mit dem DefaultTableModel? Mit dem Model kannst du auf jede beliebige Row oder Coloumn zugreifen.

Mit dem DefaultTabelModel habe ich das nicht so schön ausgedruckt bekommen.
 
Deadmanshand schrieb:
ich lade mit Java JDBC eine Tabelle mit Preisen von SQL Server. Da die Datenbank kein Währungssymbol hat, muss ich irgendwie versuchen String mäßig € zu appenden

Da ich aber die jar r2xml verwende, um die gesamte Tabelle auszugeben, weiß ich nicht wie ich das am einfachsten anstellen soll. Das TableModel kann ich nicht mit toString() bearbeiten, um dann "€" hinzuzufügen

Ist das Modell read-only?


Deadmanshand schrieb:
Zum zweiten muss das Währungssymbol in Jeder Spalte, und Jeder Zelle ( bis aufs Datum) hinzugefügt werden. Ich habe leider keinen Plan wie ich das umsetzen kann. Alles was ich versuchte scheiterte.


Was hast Du denn konkret probiert?

Deadmanshand schrieb:
Code:
try {
	//SQL-Statement
	String AllQuery = "SELECT * FROM PRODUKTE";
	PreparedStatement pst=con.prepareStatement(AllQuery);
	ResultSet rs=pst.executeQuery();
	table.setModel(DbUtils.resultSetToTableModel(rs));				
} catch (Exception f) {
	f.printStackTrace();
}

Der Code dient zur Anzeige der Daten. Dir geht es aber um den Export in eine .xml-Datei? Oder sollen die Symbole nur in der Anzeige erscheinen? DbUtils kommt woher?
 
Code:
String spaltenName[] = {"Datum","Eröffnungspreis", "Höchstpreis", "Tiefstpreis", "Schluss"};
ResultSet tabel_01 = statement.executeQuery("SELECT * FROM "Produkt" ");
Object data[] = new Object[5];
			
		while(tabel_01.next()){
					
					
			for(int i=0;i<5;i++){
					
				data[i] = tabel_01.getString(spaltenName[i]);
						
			}
		defaultTable.addRow(data);
		}

Alles weitere müsste dir dann bekannt sein. Es geht mitsicherheit auch eleganter, habe selber lange nicht mehr mit dem DefaultTableModel gearbeitet.
 
soares schrieb:
Ist das Modell read-only?
Was hast Du denn konkret probiert?

Der Code dient zur Anzeige der Daten. Dir geht es aber um den Export in eine .xml-Datei? Oder sollen die Symbole nur in der Anzeige erscheinen? DbUtils kommt woher?
Ich lese lediglich die Preise aus der Datenbank. Diese sind dort natürlich ohne Währung hinterlegt. Mir geht es nicht um den Export in eine .xml Datei. Es geht nur darum das das Währungssymbol in der Ausgabe vom Java GUI erscheint.
DbUtils ist eine externe JAR, die mir den DefaultTable erspart, und das Ergebnis schon sauber in eine Tabelle wie oben zu sehen, ausdruckt.


Hades85 schrieb:
Code:
String spaltenName[] = {"Datum","Eröffnungspreis", "Höchstpreis", "Tiefstpreis", "Schluss"};
ResultSet tabel_01 = statement.executeQuery("SELECT * FROM "Produkt" ");
Object data[] = new Object[5];
			
		while(tabel_01.next()){
					
					
			for(int i=0;i<5;i++){
					
				data[i] = tabel_01.getString(spaltenName[i]);
						
			}
		defaultTable.addRow(data);
		}

Alles weitere müsste dir dann bekannt sein. Es geht mitsicherheit auch eleganter, habe selber lange nicht mehr mit dem DefaultTableModel gearbeitet.

Ich würde es gerne mit meinem bestehenden Code irgendwie verwurschteln. Über die r2xml JAR finde ich bloß kaum für mich relevante Infos.
 
Deadmanshand schrieb:
Mir geht es nicht um den Export in eine .xml Datei. Es geht nur darum das das Währungssymbol in der Ausgabe vom Java GUI erscheint.

Dann musst Du das Modell überhaupt nicht anfassen. Sowas lässt sich sehr einfach mit einem eigenem TableCellRenderer lösen:

https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#renderer

Du überschreibst die Methode #getTableCellRendererComponent() und fügst hier dem Text an, was Du möchtest.
 

Ähnliche Themen

Zurück
Oben