D
derErnesto
Gast
Hallo,
ich möchte in einem Frame bis zu 6 Tabellen anzeigen. Das anzeigen ist nicht das Problem. Das Problem ist, das die Tabellen nebeneinander dargestellt werden. Mir wäre es lieber wenn zwei Tabellen direkt untereinander stehen würden. Somit würden in drei Reihen 6 Tabellen angezeigt.
Erst mal mein Code-Segment für 4 Tabellen:
Die Tabelleninhalte und Spalte sind jeweils immer unterschiedlich. Mit den ersten vier if-Abfragen werden die vier Tabellen definiert. Durch die letzte if-Abfrage können 1, 2, 3, 4 oder gar keine Tabellen angezeigt werden. Nehmen wir an, dass alle Tabellen angezeigt werden. Diese werden nebeneinander dargestellt. Wie kann ich darfür sorgen, dass diese vier Tabellen wie eine 2x2-Matrix/Tabelle dargestellt werden können?
Ich habe es mit
versucht aber dennoch werden die Tabellen nebeneinander angezeigt.
Mein Ziel ist es die Darstellung etwas übersichtlicher zu gestalten. Das geöffnete Frame ist einfach zu breit!
Vielen Dank
ich möchte in einem Frame bis zu 6 Tabellen anzeigen. Das anzeigen ist nicht das Problem. Das Problem ist, das die Tabellen nebeneinander dargestellt werden. Mir wäre es lieber wenn zwei Tabellen direkt untereinander stehen würden. Somit würden in drei Reihen 6 Tabellen angezeigt.
Erst mal mein Code-Segment für 4 Tabellen:
Java:
private DefaultTableModel model1;
private DefaultTableModel model2;
private DefaultTableModel model3;
private DefaultTableModel model4;
private JTable table1;
private JTable table2;
private JTable table3;
private JTable table4;
private JPanel buttonPanel = new JPanel();
private JButton ok = new JButton("OK");
private JButton change = new JButton("Change");
private JFrame frame = new JFrame("Frame mit bis zu 6 Tabellen");
private JPanel mainPanel = new JPanel();
public void testTabellen()
{
//wie die Zielen und Spalten definiert werden spielt ja keine Rolle
if(sizeSpalten1 > 0) //kriterien um 1. Tabelle mit Inhalt zu befüllen.
{
// hier werden die zeilen mit Daten befüllt......
model1 = new DefaultTableModel(zeilen1, spalten1);
table1 = new JTable(model1);
JScrollPane scrollPane1 = new JScrollPane(table1);
mainPanel.add(scrollPane1);
}
if(sizeSpalten2 > 0) //kriterien um 2. Tabelle mit Inhalt zu befüllen.
{
// hier werden die zeilen mit Daten befüllt......
model2 = new DefaultTableModel(zeilen2, spalten2);
table2 = new JTable(model2);
JScrollPane scrollPane2 = new JScrollPane(table2);
mainPanel.add(scrollPane2);
}
if(sizeSpalten3 > 0) //kriterien um 3. Tabelle mit Inhalt zu befüllen.
{
// hier werden die zeilen mit Daten befüllt......
model3 = new DefaultTableModel(zeilen3, spalten3);
table3 = new JTable(model3);
JScrollPane scrollPane3 = new JScrollPane(table3);
mainPanel.add(scrollPane3);
}
if(sizeSpalten4 > 0) //kriterien um 4. Tabelle mit Inhalt zu befüllen.
{
// hier werden die zeilen mit Daten befüllt......
model4 = new DefaultTableModel(zeilen4, spalten4);
table4 = new JTable(model4);
JScrollPane scrollPane4 = new JScrollPane(table4);
mainPanel.add(scrollPane4);
}
if(sizeSpalten1>0 || sizeSpalten2>0 || sizeSpalten3>0 || sizeSpalten4>0 ||)
{
buttonPanel.add(okButton);
buttonPanel.add(change);
mainPanel.add(buttonPanel, "Center");
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setVisible(true);
}
}
Die Tabelleninhalte und Spalte sind jeweils immer unterschiedlich. Mit den ersten vier if-Abfragen werden die vier Tabellen definiert. Durch die letzte if-Abfrage können 1, 2, 3, 4 oder gar keine Tabellen angezeigt werden. Nehmen wir an, dass alle Tabellen angezeigt werden. Diese werden nebeneinander dargestellt. Wie kann ich darfür sorgen, dass diese vier Tabellen wie eine 2x2-Matrix/Tabelle dargestellt werden können?
Ich habe es mit
Java:
mainPanel.add(scrollPaneOr, "Center"); //analog "North", "South" etc.
Mein Ziel ist es die Darstellung etwas übersichtlicher zu gestalten. Das geöffnete Frame ist einfach zu breit!
Vielen Dank