我有一个显示多个 JLables 的 JPanel,每个 JLables 代表一个二进制字符串的一个字符。(他们都是独立的,因为每个人都必须有一个 MouseListener,但这不是我的问题的一部分)
我的问题是我似乎无法将 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 个!!)
我应该如何让它工作?
编辑:更新了我复制错误代码的地方。label1.setAlignmentX(Component.CENTER_ALIGNMENT)
编辑: jLabels 需要在水平行中,而不是列中。