Java на базе Swing: Как удалить значение по умолчанию-интервал по компонентам jbutton в jpanel по


Я занят написанием меню кнопок для приложения Java Swing, и мне интересно, можно ли удалить отступ между JButton, которые добавляются в JPanel.

В JPanel используется FlowLayout, выровненный по левому краю.

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT));

Кнопки стандартные JButtons

JButton buttOne = new JButton("One");
JButton buttTwo = new JButton("Two");

Я добавил кнопки JB на панель как обычно

add(panelMenu, BorderLayout.NORTH);
panelMenu.add(buttOne);
panelMenu.add(buttTwo);

Все работает, как и ожидалось, но что мне нужно сделать, чтобы удалить интервал между кнопками по умолчанию?

Я нашел предложенную решение Онлайн, которое является следующим

buttOne.setBorder(null);
buttOne.setBorderPainted(false);
buttOne.setMargin(new Insets(0,0,0,0));

buttTwo.setBorder(null);
buttTwo.setBorderPainted(false);
buttTwo.setMargin(new Insets(0,0,0,0));

Однако это, кажется, удаляет расстояние внутри кнопки, а не расстояние между каждой кнопкой.

Является ли это расстояние произведенным FlowLayout? Если да, то как я могу его удалить?

2 2

2 ответа:

// 0, 0 приравнивается к горизонтальному и вертикальному смещениям, значение по умолчанию равно 5.

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));

Надо разобраться!

FlowLayout управляет расстоянием, значение по умолчанию равно 5.
Используйте new FlowLayout(FlowLayout.LEFT, 0) для удаления интервала.