Hallo zusammen,
ich bin gerade dabei mein erstes eigenes kleines/größeres Projekt zu starten.
Ich bin momentan auch dabei ein Fenster zu erstellen, wo auf der linken Seite eine Tabelle und auf der Rechten Seite Fenster zu sehen sind.
Dafür habe ich folgenden Code:
Stand jetzt bekomme ich als Ausgabe ein Fenster mit der Tabelle auf der linken Seite und einem rotePanel auf der rechten Seite. Funktioniert also alles..
Nur mir ist momentan nicht ganz klar, warum ich die Tabelle und das rote Panel vor dem erstellen des JFrames aufrufen muss.
Mein erster Gedankengang ist eigentlich, dass es reicht, wenn ich in der Methode Grundpanel die Methoden erstellePannelFeld und erstelleTabelle aufrufen. Funktioniert allerdings nicht.
Kann mir jemand sagen, warum das so nicht funktioniert und warum der Code anscheinend vor das JFrame muss?
Andere Verbesserungsvorschläge nehme ich auch gerne an, da es sich um mein erstes GUI-Projekt handelt.
ich bin gerade dabei mein erstes eigenes kleines/größeres Projekt zu starten.
Ich bin momentan auch dabei ein Fenster zu erstellen, wo auf der linken Seite eine Tabelle und auf der Rechten Seite Fenster zu sehen sind.
Dafür habe ich folgenden Code:
Java:
package GUI;
import java.awt.Color;
import javax.swing.*;
@SuppressWarnings("serial")
public class GUIMitarbeiterList extends JFrame {
private JTable tabelle;
private JFrame start;
private JPanel panelFeld;
private JSplitPane panelGrund;
private JScrollPane pane;
public GUIMitarbeiterList(String title) {
erstellePanelFeld();
erstelleTabelle();
start=new JFrame(title);
setTitle(title);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(1000, 500);
setResizable(true);
setLocationRelativeTo(null);
grundpanel();
add(panelGrund);
}
public void grundpanel() {
panelGrund = new JSplitPane();
panelGrund.setLeftComponent(pane);
panelGrund.setRightComponent(panelFeld);
panelGrund.setContinuousLayout(true);
}
public void erstellePanelFeld() {
panelFeld = new JPanel();
panelFeld.setSize(0,0);
panelFeld.setBackground(Color.RED);
}
public void erstelleTabelle() {
String columns[]= {"Name", "Vorname"};
String data[][]= {{"Muster", "Marc"}, {"Mustermann","Olaf"}};
tabelle = new JTable(data, columns); //Zuerst Daten und dann die Spalten
pane = new JScrollPane(tabelle);
}
}
Stand jetzt bekomme ich als Ausgabe ein Fenster mit der Tabelle auf der linken Seite und einem rotePanel auf der rechten Seite. Funktioniert also alles..
Nur mir ist momentan nicht ganz klar, warum ich die Tabelle und das rote Panel vor dem erstellen des JFrames aufrufen muss.
Mein erster Gedankengang ist eigentlich, dass es reicht, wenn ich in der Methode Grundpanel die Methoden erstellePannelFeld und erstelleTabelle aufrufen. Funktioniert allerdings nicht.
Kann mir jemand sagen, warum das so nicht funktioniert und warum der Code anscheinend vor das JFrame muss?
Andere Verbesserungsvorschläge nehme ich auch gerne an, da es sich um mein erstes GUI-Projekt handelt.