electroboogie
Grünschnabel
Moin,
ich habe mal eine frage zu JTabbedPage.
In meinem Programm verwende ich JTabbedPage um auf mehreren tab pages meine Tabellen darzustellen. Das ganze sieht so ähnlich aus wie in Excel. Da kann man auch verschieden Tabellenblätter über tab pages auswählen.
Hier seht ihr die Klasse KassenbuchFrame. In dieser wird nur ein MonatTabPage-Obj.
Auf dieser werden mehrere tab pages dargestellt, die wiederum jeweils einen Monat in Tabellenform anzeigen. Ein Monat enthält die Einnahmen und Ausgaben des selbigen.
Diese Monate werden in KassenbuchData gespeichert, siehe folgenden code.
Hier folget die Klasse MonatTabPage
Das ganze funktioniert auch. ich kann neue tab pages hinzufügen und kann auch neue Einträge in die jeweiligen Tabellen machen. Aber leider weiß ich nicht, wie ich wieder an die einzelnen Tabelleninhalte komme oder wenn ich etwas in die Tabelle eingetragen habe, das in das KassenbuchDaten-Obj. eintrage.
Wäre dankebar für jede Hilfe oder auch einfach nur Tipps, wie man es besser machen kann.
Bevor ich es vergesse. Ich benutzte die Klasse JTableRows, die Snape irgendwo hier im Forum mal geposted hat. An der Stelle vielen Dank für diese Klasse.
MfG
ekectroboogie
ich habe mal eine frage zu JTabbedPage.
In meinem Programm verwende ich JTabbedPage um auf mehreren tab pages meine Tabellen darzustellen. Das ganze sieht so ähnlich aus wie in Excel. Da kann man auch verschieden Tabellenblätter über tab pages auswählen.
Hier seht ihr die Klasse KassenbuchFrame. In dieser wird nur ein MonatTabPage-Obj.
Auf dieser werden mehrere tab pages dargestellt, die wiederum jeweils einen Monat in Tabellenform anzeigen. Ein Monat enthält die Einnahmen und Ausgaben des selbigen.
Diese Monate werden in KassenbuchData gespeichert, siehe folgenden code.
Code:
public class KassenbuchFrame extends JInternalFrame
{
private KassenbuchDaten kbData; //Darin stehen die Daten(Monate). Diese werden in einer //Linked List gestored
private MonatTabPage monatBlatt; //Dies ist ein JTabbedPage, siehe unten
public KassenbuchFrame(String title, KassenbuchDaten kbData)
{
super(title, true, true);
this.kbData = kbData;
setSize(new Dimension(383, 296));
setResizable(true);
setClosable(true);
setIconifiable(true);
setMaximizable(true);
setVisible(true);
}
//diesem constructor wird ein KassenbuchDaten-Obj übergeben
//jeder KassenbuchFrame, kann nur ein KassenbuchDaten-Obj besitzen
//in diesem kbData sind/können aber mehrere Monate enthalten sein
public KassenbuchFrame(String title, KassenbuchDaten kbData, String month)
{
this(title, kbData);
//erzeuge ein JTableMonatModel-Obj und über gebe einen/den ersten Monat
//jede tab page zeigt einen Monat an
JTableMonatModel model = new JTableMonatModel(kbData.getMonth(0));
monatBlatt = new MonatTabPage();
monatBlatt.addTab(model);
getContentPane().add(monatBlatt);
}
//fügt einen neuen monat in das kbData ein
//und erzeuget ein neues JTableMonatModel für diesen Monat
//und erzeugt eine neue tab page für diesen Monat
public void addMonthToKassenbuch(MonatDaten month)
{
kbData.addMonth(month);
model = new JTableMonatModel(month);
monatBlatt.addTab(model);
getContentPane().add(monatBlatt);
}
public KassenbuchDaten getKassenbuch()
{
return kbData;
}
public MonatTabPage getTabPage()
{
return monatBlatt;
}
}
Hier folget die Klasse MonatTabPage
Code:
public class MonatTabPage extends JTabbedPane
{
private JScrollPane scrollpane;
MonatTabPage()
{
super(BOTTOM);
}
public void addTab(JTableMonatModel tableModel)
{
//übergebe das TableModel an die JTable
JTable table = new JTable(tableModel);
//erzeuge JScrollPane damit auch die Tabellen header sichtbar sind
JScrollPane scrollpane = new JScrollPane();
scrollpane.add(table);
//Methode von JTabbedPane
addTab(tableModel.getMonat().getMonat(),scrollpane);
}
}
Das ganze funktioniert auch. ich kann neue tab pages hinzufügen und kann auch neue Einträge in die jeweiligen Tabellen machen. Aber leider weiß ich nicht, wie ich wieder an die einzelnen Tabelleninhalte komme oder wenn ich etwas in die Tabelle eingetragen habe, das in das KassenbuchDaten-Obj. eintrage.
Wäre dankebar für jede Hilfe oder auch einfach nur Tipps, wie man es besser machen kann.
Bevor ich es vergesse. Ich benutzte die Klasse JTableRows, die Snape irgendwo hier im Forum mal geposted hat. An der Stelle vielen Dank für diese Klasse.
MfG
ekectroboogie