Liebe Community
Ich bitte um eure Hilfe, da ich wahrscheinlich einen Logikfehler in meinem Script habe.
Derzeit programmiere ich eine GUI mit einem GridBagLayout. Soweit sind alle meine Elemente an Ort und Stelle und es funktioniert alles tadellos. Allerdings befindet sich ein breiter, leerer Rand in meinem Frame.
Zu meinem Skript:
1. Ich habe ein Frame erstellt, dass 3/4 der Länge und Breite der momentanen Bildschirmauflösung besitzt. Das funktioniert alles tadellos
2. Ich erstelle ein JPanel, dem dann über gui.setLayout()...das GridBagLayout zugefügt wird.
3. Ich erstelle meine ganzen Komponenten (JLable, JButton, etc.) und ihre zugehörigen GridBagConstraints.
4. Ich definiere die Eigenschaften der Constraints und die Größe meiner Komponenten über JLable.setMinimumSize(...).
5. Ich übergebe meine Komponenten an mein JPanel
Wie gesagt es funktioniert alles super, die Anordnung der Elemente und die Größe zueinander sind perfekt. Leider füllt das JPanel meinen Frame nicht komplett aus. Ich habe meine Berechnung tausendmal überprüft, es passt alles...
Hier ist mein Code (zumindest das GUI betreffend).
Ich bitte um eure Hilfe, da ich wahrscheinlich einen Logikfehler in meinem Script habe.
Derzeit programmiere ich eine GUI mit einem GridBagLayout. Soweit sind alle meine Elemente an Ort und Stelle und es funktioniert alles tadellos. Allerdings befindet sich ein breiter, leerer Rand in meinem Frame.
Zu meinem Skript:
1. Ich habe ein Frame erstellt, dass 3/4 der Länge und Breite der momentanen Bildschirmauflösung besitzt. Das funktioniert alles tadellos
2. Ich erstelle ein JPanel, dem dann über gui.setLayout()...das GridBagLayout zugefügt wird.
3. Ich erstelle meine ganzen Komponenten (JLable, JButton, etc.) und ihre zugehörigen GridBagConstraints.
4. Ich definiere die Eigenschaften der Constraints und die Größe meiner Komponenten über JLable.setMinimumSize(...).
5. Ich übergebe meine Komponenten an mein JPanel
Wie gesagt es funktioniert alles super, die Anordnung der Elemente und die Größe zueinander sind perfekt. Leider füllt das JPanel meinen Frame nicht komplett aus. Ich habe meine Berechnung tausendmal überprüft, es passt alles...
Hier ist mein Code (zumindest das GUI betreffend).
Java:
JPanel gui = new JPanel(); // Container für das GridBag
Haupt.add( gui );
gui.setMinimumSize( new Dimension(wgHaupt.getW(3.0/4.0) , wgHaupt.getH(3.0/4.0)));
gui.setLayout( new GridBagLayout() );
JLabel Title = new JLabel("SequenceDesk");
GridBagConstraints TitleCont = new GridBagConstraints();
TitleCont.gridx = 0;
TitleCont.gridy = 0;
TitleCont.gridwidth = 12;
TitleCont.gridheight = 2;
TitleCont.fill = GridBagConstraints.BOTH;
Font titleFont = new Font("Times New Roman", Font.PLAIN, wgHaupt.getH(1.0/10.0));
Title.setFont( titleFont );
Title.setMinimumSize( new Dimension(wgHaupt.getW(9.0/20.0) , wgHaupt.getH(1.0/8.0)));
JLabel UserLoggedIn = new JLabel("Your are logged in as:" + paStart.getUserName());
GridBagConstraints UserLoggedInCont = new GridBagConstraints();
UserLoggedInCont.gridx = 12;
UserLoggedInCont.gridy = 1;
UserLoggedInCont.gridwidth = 8;
UserLoggedInCont.gridheight = 1;
UserLoggedInCont.anchor = GridBagConstraints.LINE_END;
UserLoggedInCont.fill = GridBagConstraints.BOTH;
Font UserLoggedInFont = new Font("Times New Roman", Font.PLAIN, wgHaupt.getH(1.0/50.0));
UserLoggedIn.setFont( UserLoggedInFont );
UserLoggedIn.setMinimumSize( new Dimension(wgHaupt.getW(3.0/10.0) , wgHaupt.getH(1.0/8.0)));
JButton Viewer = new JButton("Viewer");
GridBagConstraints ViewerCont = new GridBagConstraints();
ViewerCont.gridx = 0;
ViewerCont.gridy = 2;
ViewerCont.gridwidth = 4;
ViewerCont.gridheight = 2;
ViewerCont.fill = GridBagConstraints.BOTH;
Font ButtonFont = new Font("Times New Roman", Font.PLAIN, wgHaupt.getH(1.0/15.0));
Viewer.setFont( ButtonFont );
Viewer.setMinimumSize( new Dimension(wgHaupt.getW(3.0/20.0), wgHaupt.getH(1.0/8.0)));
JButton Order = new JButton("Order");
GridBagConstraints OrderCont = new GridBagConstraints();
OrderCont.gridx = 0;
OrderCont.gridy = 4;
OrderCont.gridwidth = 4;
OrderCont.gridheight = 2;
OrderCont.fill = GridBagConstraints.BOTH;
Order.setFont( ButtonFont );
Order.setMinimumSize( new Dimension(wgHaupt.getW(3.0/20.0), wgHaupt.getH(1.0/8.0)));
JButton Settings = new JButton("Settings");
GridBagConstraints SettingsCont = new GridBagConstraints();
SettingsCont.gridx = 0;
SettingsCont.gridy = 6;
SettingsCont.gridwidth = 4;
SettingsCont.gridheight = 2;
SettingsCont.fill = GridBagConstraints.BOTH;
Settings.setFont( ButtonFont );
Settings.setMinimumSize( new Dimension(wgHaupt.getW(3.0/20.0), wgHaupt.getH(1.0/8.0)));
JButton Admin = new JButton("Admin");
GridBagConstraints AdminCont = new GridBagConstraints();
AdminCont.gridx = 0;
AdminCont.gridy = 8;
AdminCont.gridwidth = 4;
AdminCont.gridheight = 2;
AdminCont.fill = GridBagConstraints.BOTH;
Admin.setFont( ButtonFont );
Admin.setMinimumSize( new Dimension(wgHaupt.getW(3.0/20.0), wgHaupt.getH(1.0/8.0)));
JButton Exit = new JButton("Exit");
GridBagConstraints ExitCont = new GridBagConstraints();
ExitCont.gridx = 0;
ExitCont.gridy = 10;
ExitCont.gridwidth = 4;
ExitCont.gridheight = 2;
ExitCont.fill = GridBagConstraints.BOTH;
Exit.setFont( ButtonFont );
Exit.setMinimumSize( new Dimension(wgHaupt.getW(3.0/20.0), wgHaupt.getH(1.0/8.0)));
JLabel Holder = new JLabel("Area");
GridBagConstraints HolderCont = new GridBagConstraints();
HolderCont.gridx = 4;
HolderCont.gridy = 2;
HolderCont.gridwidth = 16;
HolderCont.gridheight = 10;
HolderCont.fill = GridBagConstraints.BOTH;
Holder.setFont( ButtonFont );
Holder.setMinimumSize( new Dimension(wgHaupt.getW(3.0/5.0), wgHaupt.getH(5.0/8.0)));
gui.add( Title, TitleCont );
gui.add( UserLoggedIn, UserLoggedInCont );
gui.add( Viewer, ViewerCont );
gui.add( Order, OrderCont );
gui.add( Settings, SettingsCont );
gui.add( Admin, AdminCont );
gui.add( Exit, ExitCont );
gui.add( Holder, HolderCont );