Невозможно вертикально выровнять JCheckBox с JLabel с помощью макета сетки Java SwingJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно вертикально выровнять JCheckBox с JLabel с помощью макета сетки Java Swing

Сообщение Anonymous »

Я работаю над пользовательским интерфейсом Swing с макетом сетки, но всякий раз, когда я использую JCheckBox или даже JRadioButton, другие элементы, такие как JLabels, всегда смещаются.

Код: Выделить всё

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class PanelTest extends JPanel {

// instance variabels
private GridBagLayout testLayout;
private GridBagConstraints gbc;
private JLabel label;
private JCheckBox checkBox;

public PanelTest() {
testLayout = new GridBagLayout();
setLayout(testLayout);
gbc = new GridBagConstraints();
// set initial gbc format
gbc.anchor = GridBagConstraints.SOUTHWEST;
gbc.insets = new Insets(5, 5, 0, 0);
gbc.gridx = gbc.gridy = 0;
gbc.weightx = gbc.weighty = 0;
// label
label = new JLabel("Label here:");
add(label, gbc);
// check box
checkBox = new JCheckBox("Check box");
gbc.gridx++;
add(checkBox, gbc);
}

public static void main(String[] args) {
JFrame frame = new JFrame();
PanelTest panelTest = new PanelTest();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Panel test");
frame.add(panelTest);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Когда я это делаю, JCheckBox, текст и флажок слишком высоки по сравнению с JLabel.
Это поле на 2 пикселя выше текста метки, а текст флажка на 4 пикселя выше.
Есть ли способ опустить флажок на 2 пикселя, а текст флажка на 4 пикселя?
(Строка на картинке предназначена только для ссылка на невыравнивание.)
Изображение
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»