Ich habe zwei Probleme mit dem Layout meiner GUI. Ich verwende ein JTabbedPane, um zwei JPanels zu halten, jedes Panel hat eine Auswahl an Buttons und Textbereichen, und jeder ist mit GridBagLayout ausgelegt. In einem meiner Panels habe ich einen JScrollPane, der eine JTextArea verwendet. Wenn ich irgendetwas an diesen Textbereich angehängt habe und dann auf die GUI klicke, so dass es keinen Fokus mehr hat, oder wenn ich die Registerkarte ändere, werden die Größen aller Textfelder und der Text so klein wie möglich geändert.Swing-Komponenten, die ihre Größe ändern, wenn sie sich nicht im Fokus der Tastatur befinden
weiter, um mein Problem zu illustrieren, hier sind vor und nach Bilder von, wenn ich die gui nach Anhängen an den Textbereich klicken off:
Hier ist der Code, den ich hinzufügen die JTextArea zum Panel:
table = new JTextArea();
table.setEditable(false);
JScrollPane sp = new JScrollPane(table);
sp.setSize(40, 10);
c.insets = new Insets(10,10,10,10);
c.gridx = 1;
c.gridwidth = 4;
c.gridy = 7;
c.gridheight = 7;
this.add(sp, c);
Und hier ist der Code, den ich verwende, um die Textbereiche zum Panel hinzuzufügen:
title = new JTextField(10);
author = new JTextField(10);
dueDate = new JTextField(10);
setDate = new JTextField(10);
setWeighting = new JTextField(10);
c.gridx = 2;
c.gridy = 1;
this.add(title, c);//add title field
c.gridx = 2;
c.gridy = 2;
this.add(author, c);//add author field
c.gridx = 2;
c.gridy = 3;
this.add(dueDate, c);//add dueDate field
c.gridx = 2;
c.gridy = 4;
this.add(setDate, c);//add setDate field
c.gridx = 2;
c.gridy = 5;
this.add(setWeighting, c);//add set Weighting field
Es wäre hilfreich, einen kompilierbaren und ausführbaren Code zu sehen. Nicht das ganze Programm, aber gerade genug, um das Problem zu reproduzieren, ohne so groß zu sein, um uns mit viel unzusammenhängendem Code zu überschwemmen. –
Ich sehe nirgendwo, wo Sie die Gewicht x oder gewichtigen Felder der GridBagComponents festlegen. Was passiert, wenn Sie sie auf 1.0 setzen? Wenn dies nicht hilft, erwägen Sie erneut, ein kompilierbares ausführbares kleines Programm zu veröffentlichen, das das Problem demonstriert, ein [SSCCE] (http://sscce.org). –
Es scheint nichts zu ändern, wenn ich das tue, das Größenänderungsverhalten tritt immer noch auf. – lilroo