martin1981ww
Grünschnabel
Guten Tag liebe tutorials.de User. Ich arbeite seit wenigen Monaten mit Java und muss sagen dass ich bisher noch nie so verzweifelt war.
Nun zu meinem Problem: Mein aktuelles Projekt ist die Entwicklung einer Kontaktdatenbank. Darin werden unter Anderem Namen, Anschriften, Telefonkontakte und ähnliches gespeichert. Soweit so gut, kein Problem mit der Datenabankanbindung oder der GUI. Bis auf die JTable, die ich gerne zum Anzeigen der ausgewählten Datensätze verwenden würde. (Die Datensätze werden über DropDownListen und ähnlichem ausgewählt. Funktioniert tadellos, soll hier auch nicht das Thema sein).
Da ich überhaupt keine Ahnung habe wie ich mit der JTable anfangen soll poste ich am besten hier den Code.
Die letzten Tage verbrachte ich damit hier im Tutorial nach Lösungen zu suchen, auf der Seite von Java-Buch und auf anderen Seiten im Netz. Leider habe ich nie den passenden Einstieg in das Thema gefunden.
An den entsprechenden Stellen im Code habe ich die Probleme kommentiert.
Mir geht es zunächst gar nicht darum Werte aus meiner Datenbank in eine Tabelle zu bekommen, mir würde es ja schon reichen wenn ich es manuell hin bekommen würde. Bin wirklich verzweifelt. Stell ich mich nur zu blöd an oder mach ich grundsätzlich etwas falsch?
Java: Version 1.5.0 (Build 1.5.0_11-b03)
Entwicklungsumgebung: Borland JBuilder
Bin über jede Hilfe sehr dankbar.
Nun zu meinem Problem: Mein aktuelles Projekt ist die Entwicklung einer Kontaktdatenbank. Darin werden unter Anderem Namen, Anschriften, Telefonkontakte und ähnliches gespeichert. Soweit so gut, kein Problem mit der Datenabankanbindung oder der GUI. Bis auf die JTable, die ich gerne zum Anzeigen der ausgewählten Datensätze verwenden würde. (Die Datensätze werden über DropDownListen und ähnlichem ausgewählt. Funktioniert tadellos, soll hier auch nicht das Thema sein).
Da ich überhaupt keine Ahnung habe wie ich mit der JTable anfangen soll poste ich am besten hier den Code.
Die letzten Tage verbrachte ich damit hier im Tutorial nach Lösungen zu suchen, auf der Seite von Java-Buch und auf anderen Seiten im Netz. Leider habe ich nie den passenden Einstieg in das Thema gefunden.
An den entsprechenden Stellen im Code habe ich die Probleme kommentiert.
Code:
package testprojekt;
/*
** Imports
*/
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import java.util.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.*;
public class TestDialog extends JFrame {
/*
** Neues JBuilder XYLayout
*/
XYLayout xYLayout1 = new XYLayout();
public TestDialog() {
super("TestFrame");
try {
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(xYLayout1);
JTable table;
String[][] data = new String[5][6];
String[] colheads = {"Pos Nr", "DL Nr", "DL Bezeichnung", "Gesamtmenge",
"verarbeitete Menge", "zu bearbeitende Menge"};
/*
** 3 Möglichkeiten eine Tabelle zu erzeugen und sie zu füllen. Natürlich wurde beim
** Ausführen nur eine Möglichkeit probiert und die beiden anderen auskommentiert.
*/
// Möglichkeit A -> In der Zelle, in der der Inhalt stehen sollte (0,0) steht diese Meldung
// [Ljava.lang.Object;@139b78e Wie kann ich das Objekt sonst einfügen?
table = new JTable(3,6);
AbstractTableModel cmodel = (AbstractTableModel)table.getModel();
cmodel.setValueAt(new Object[] {new Integer(2),"test",new Double(2.8)},0,0);
// Möglichkeit B -> Es entsteht eine Tabelle mit 5 Zeilen und dem gewünschten
// Tabellenheader. Wie kann ich hier Daten in die Tabelle schreiben?
table = new JTable(data, colheads);
// Möglichkeit C -> Es entsteht eine Tablle mit den gewünschten Inhalten (eine Zeile mit
// colheads und eine zweite Zeile mit 2, test,2.8). Leider entsteht hier aber kein
// Tableheader.
table = new JTable(0,7);
DefaultTableModel amodel = (DefaultTableModel)table.getModel();
amodel.addRow(colheads);
amodel.addRow(new Object[] {new Integer(2),"test",new Double(2.8)});
/*
** Einfügen der Tabelle in eine JScrollPane sowie Spaltenformatierung (Breite)
*/
this.getContentPane().add(new JScrollPane(table), new XYConstraints(40, 37, 299,
203));
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(50);
table.getColumnModel().getColumn(0).setMinWidth(10);
table.getColumnModel().getColumn(0).setMaxWidth(100);
table.getColumnModel().getColumn(1).setPreferredWidth(60);
table.getColumnModel().getColumn(2).setPreferredWidth(30);
table.getColumnModel().getColumn(3).setPreferredWidth(30);
table.getColumnModel().getColumn(4).setPreferredWidth(30);
table.getColumnModel().getColumn(5).setPreferredWidth(30);
}
}
Mir geht es zunächst gar nicht darum Werte aus meiner Datenbank in eine Tabelle zu bekommen, mir würde es ja schon reichen wenn ich es manuell hin bekommen würde. Bin wirklich verzweifelt. Stell ich mich nur zu blöd an oder mach ich grundsätzlich etwas falsch?
Java: Version 1.5.0 (Build 1.5.0_11-b03)
Entwicklungsumgebung: Borland JBuilder
Bin über jede Hilfe sehr dankbar.