Java 如何设置JLabel以占用所有可用的宽度空间?

Java 如何设置JLabel以占用所有可用的宽度空间?,java,html,swing,layout-manager,gridbaglayout,Java,Html,Swing,Layout Manager,Gridbaglayout,我正在尝试将JLabel文本居中,并更改背景和前景颜色。我尝试使用HTML: JLabel listHeader = new JLabel("<html><span style='background-color:#555;color:White;text-align:center;'>Tables</span></html>"); 我也尝试了fill和,结果相同 如何使标签占据所有的宽度空间?您可以尝试将锚定在中心,而不是线的起点 我尝试使用

我正在尝试将
JLabel
文本居中,并更改背景和前景颜色。我尝试使用HTML:

JLabel listHeader = new JLabel("<html><span style='background-color:#555;color:White;text-align:center;'>Tables</span></html>"); 
我也尝试了fill
,结果相同


如何使标签占据所有的宽度空间?

您可以尝试将锚定在中心,而不是线的起点

我尝试使用HTML:

JLabel listHeader = new JLabel("<html><span style='background-color:#555;color:White;text-align:center;'>Tables</span></html>"); 
不要使用HTML

我正在尝试将JLabel文本居中

要将文本居中放置在标签可用的空间中,可以使用:

label.setHorizontalAlignment(JLabel.CENTER);
以及更改背景和前景颜色

您需要使标签不透明:

label.setOpaque( true ):
label.setBackground( Color.RED );
我也尝试了两种方法,结果相同

嗯,我不认为你想要“两者”,因为你只关心宽度。您可能还需要使用
weightx
约束。有关使用约束的详细信息,请阅读上的Swing教程部分


如果没有您的
MCVE/SSCCE
,我们就无法确切了解您在做什么。

要更快获得更好的帮助,请发布或。