У меня есть JPanel, который отображает несколько JLables, каждый из которых представляет символ двоичной строки. (Все они индивидуальны, потому что у каждого должен быть MouseListener, но это не является частью моей проблемы)Центрирование нескольких JLabels в JPanel
Моя проблема в том, что я не могу показаться центром JLables.
Я попытался
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
add(label1); //= left aligned
label1.setAlignmentX(Component.CENTER_ALIGNMENT); //= still left aligned
и
this.setLayout(new BorderLayout());
add(label1, BorderLayout.CENTER); //= only 1 showed up
Я также оставил его по умолчанию FlowLayout, но по какой-то причине, это игнорирует размер и пробелы в JLabels так, что они не делают все они вписываются в строку, которую они предполагают. Я также попытался поставить FlowLayout внутри Boxlayout. Все еще не сработало.
Обратите внимание, что в моих примерах выше, у меня есть более чем одна метка (я на самом деле 31 !!)
Как я должен получить эту работу?
EDIT: обновлено, где я скопировал неправильный код. label1.setAlignmentX (Component.CENTER_ALIGNMENT)
EDIT: jLabels должны быть в горизонтальном ряду, а не в столбце.
Что значение 'alignment' в первом коде? –
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –
Я бы предложил, может быть, один столбец 'GridLayout', с текстом с текстом в центре. –