Oto część mojego GUI aplikacji java, o której mam pytanie.Jak usunąć wypełnienie pomiędzy JPanel przy użyciu układu przepływu?
Co to GUI składa jest niebieski JPanel (kontener) z domyślnej FlowLayout jako LayoutManager który zawiera pole, które zawiera dwa JPanels (aby usunąć odstępy poziome lub ja mogła wykorzystać setHgaps do zera dla tej sprawy zamiast Box), z których każdy zawiera JLabel.
Oto mój kod do tworzenia tej części GUI.
private void setupSouth() {
final JPanel southPanel = new JPanel();
southPanel.setBackground(Color.BLUE);
final JPanel innerPanel1 = new JPanel();
innerPanel1.setBackground(Color.ORANGE);
innerPanel1.setPreferredSize(new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT));
innerPanel1.add(new JLabel("Good"));
final JPanel innerPanel2 = new JPanel();
innerPanel2.setBackground(Color.RED);
innerPanel2.setPreferredSize(new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT));
innerPanel2.add(new JLabel("Luck!"));
final Box southBox = new Box(BoxLayout.LINE_AXIS);
southBox.add(innerPanel1);
southBox.add(innerPanel2);
myFrame.add(southPanel, BorderLayout.SOUTH);
}
Moje pytanie brzmi: jak pozbyć się pionowej wyściółki między zewnętrznym JPanel (niebieski) i Box?
Wiem, że to dopełnienie, ponieważ przeczytałem na Difference between margin and padding?, że "dopełnienie = spacja wokół (wewnątrz) elementu z tekstu na obramowanie."
To nie będzie działać, bo to musi ze względu ze szczelinami (spacji) między components.- How to remove JPanel padding in MigLayout?
próbowałem tego, ale to nie działa albo. JPanel Padding in Java
Twój kod jest niecałkowity.Nigdy nie dodajesz SouthBox do panelu ani nie dodajesz swoich wewnętrznych paneli do panelu południowego –