Hallo!
Zur Aufgabenstellung: Ich schreibe eine Art GUI-Editor für Java, man kann dabei zwischen Masken mit Tabs und Masken ohne Tabs auswählen. Mein Problem beschränkt sich auf Masken mit Tabs.
Als Testprogramm um mein Problem zu verdeutlichen habe ich einfach ein JFrame mit einer JTabbedPane darauf auf der wiederum 2 JPanels liegen. Auf das unterste Panel, in diesem Fall "inTabPanel" sollen dann z.B.: JLabels hinzugefügt werden können. Diese müssen aber in der linken oberen Ecke angezeigt werden! Da das GridBagLayout (benötige ich umbedingt!) aber scheinbar die Eigenart hat alles in der Mitte zu positionieren gehe ich eben den Workaround mit den beiden Panels.
So jetzt zu meinem Problem: sobald ich die PreferredSize des "inTabPanel" setze, positioniert das Programm die Labels nicht mehr richtig und setzt sie wieder in die Mitte. Ich muss aber die PreferredSize setzen, da ansonsten das Panel keine größe hat und mein Einfügen von z.B.: JLabels mittels MouseClicks natürlich nicht mehr funktioniert da ich ja nirgends rein klicken kann.
Hat irgendjemand eine Idee, wie man dieses Problem lösen kann?
Ich bin schön langsam nämlich am verzweifeln!!!
Danke,
Michael!
Zur Aufgabenstellung: Ich schreibe eine Art GUI-Editor für Java, man kann dabei zwischen Masken mit Tabs und Masken ohne Tabs auswählen. Mein Problem beschränkt sich auf Masken mit Tabs.
Als Testprogramm um mein Problem zu verdeutlichen habe ich einfach ein JFrame mit einer JTabbedPane darauf auf der wiederum 2 JPanels liegen. Auf das unterste Panel, in diesem Fall "inTabPanel" sollen dann z.B.: JLabels hinzugefügt werden können. Diese müssen aber in der linken oberen Ecke angezeigt werden! Da das GridBagLayout (benötige ich umbedingt!) aber scheinbar die Eigenart hat alles in der Mitte zu positionieren gehe ich eben den Workaround mit den beiden Panels.
So jetzt zu meinem Problem: sobald ich die PreferredSize des "inTabPanel" setze, positioniert das Programm die Labels nicht mehr richtig und setzt sie wieder in die Mitte. Ich muss aber die PreferredSize setzen, da ansonsten das Panel keine größe hat und mein Einfügen von z.B.: JLabels mittels MouseClicks natürlich nicht mehr funktioniert da ich ja nirgends rein klicken kann.
Hat irgendjemand eine Idee, wie man dieses Problem lösen kann?
Ich bin schön langsam nämlich am verzweifeln!!!
Danke,
Michael!
Code:
JFrame frame = new JFrame();
frame.setPreferredSize(new Dimension(1024,768));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTabbedPane tabbedpane = new JTabbedPane();
JPanel outTabPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel inTabPanel = new JPanel();
//inTabPanel.setPreferredSize(new Dimension(600,400));
inTabPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
inTabPanel.add(new JLabel("lalelu"), gbc);
gbc.gridx = 1;
gbc.gridy = 0;
inTabPanel.add(new JLabel("blub"), gbc);
outTabPanel.add(inTabPanel);
tabbedpane.add(outTabPanel);
frame.getContentPane().add(tabbedpane);
frame.setVisible(true);