Как установить маржу в первом столбце GridLayout? - PullRequest
1 голос
/ 04 апреля 2019

Я хочу поле слева только в первом столбце.Jlabel в первом столбце выровнен по левому краю.

image of the problem

Код для строки

 lbl1 = new JLabel("Hold");
       lbl1 .setFont(new Font("Arial Black", Font.PLAIN, text));
       lbl1 .setHorizontalAlignment(SwingConstants.LEFT);
       lbl1 .setForeground(Color.decode(textColor));
       panel1.add(lbl1 );


       lbl2= new JLabel("100");
       lbl2.setFont(new Font("Arial Black", Font.PLAIN, text));
       lbl2.setHorizontalAlignment(SwingConstants.CENTER);
       lbl2.setForeground(Color.decode(textColor));
       panel1.add(lbl2);

Код для панели

setLayout(new GridLayout(0,2));

1 Ответ

2 голосов
/ 04 апреля 2019

В вашем случае вы можете установить пустую границу для всей вашей «левой» метки.

lb1.setBorder(new EmptyBorder(0, 10, 0, 0));

Этот код обеспечит смещение на 10 пунктов от левой стороны метки.

Обычно GridLayout не лучший выбор для ваших целей.Я бы посоветовал вам поискать другого менеджера по расположению.Стандарт GridBagLayout слишком многословен, поэтому было бы лучше изучить сторонний макет, такой как MigLayout или FormLayout .

...