Heim >Java >javaLernprogramm >Wie kann ich die maximale Breite von Beschriftungen in einem von Swing GroupLayout verwalteten Formular auf einen Bruchteil der Breite des übergeordneten Rahmens beschränken, während ich die Größe ändere?
Wie kann man in einem dynamisch generierten Dateneingabeformular, das von Swings GroupLayout verwaltet wird, die einschränken? Die maximale Breite der Beschriftungen wird auf einen bestimmten Bruchteil der Breite des übergeordneten Rahmens festgelegt und gleichzeitig an die Größenänderung angepasst Ereignisse?
So begrenzen Sie die Etikettenbreite mithilfe von GroupLayout effektiv:
import javax.swing.GroupLayout; import javax.swing.JLabel; import javax.swing.JPanel; public class LabelWidthLimitPanel extends JPanel { private JLabel label1 = new JLabel("Primary:"); private JTextField field1 = new JTextField(16); private JLabel label2 = new JLabel("Secondary:"); private JTextField field2 = new JTextField(16); private JLabel label3 = new JLabel("Tertiary:"); private JTextField field3 = new JTextField(16); public LabelWidthLimitPanel() { GroupLayout layout = new GroupLayout(this); this.setLayout(layout); layout.setAutoCreateGaps(true); layout.setAutoCreateContainerGaps(true); layout.setHorizontalGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING) .addComponent(label1) .addComponent(label2) .addComponent(label3)) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(field1) .addComponent(field2) .addComponent(field3)) ); layout.setVerticalGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(label1) .addComponent(field1)) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(label2) .addComponent(field2)) .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(label3) .addComponent(field3)) ); } }
In diesem Beispiel:
Das obige ist der detaillierte Inhalt vonWie kann ich die maximale Breite von Beschriftungen in einem von Swing GroupLayout verwalteten Formular auf einen Bruchteil der Breite des übergeordneten Rahmens beschränken, während ich die Größe ändere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!