我试图将JLabel
文本居中并更改背景和前景色。我试图使用HTML:
JLabel listHeader = new JLabel("<html><span style='background-color:#555;color:White;text-align:center;'>Tables</span></html>");
但它似乎无法正常工作,如下图所示。
标签位于面板内,布局管理器设置为网格包布局,具有以下约束:
c.gridy=0;
c.gridx=0;
c.weighty=0;
c.weightx=1;
c.fill=GridBagConstraints.NONE;
c.anchor = GridBagConstraints.LINE_START;
我尝试使用fill BOTH
,结果相同。
如何让标签占据所有宽度空间?
答案 0 :(得分:0)
你可以尝试锚定在中心,而不是在线的起点。
答案 1 :(得分:0)
我尝试使用HTML:
不要使用HTML。
我试图将JLabel文本居中
将文本置于可以使用的标签可用空间中心:
label.setHorizontalAlignment(JLabel.CENTER);
并更改背景和前景色。
您需要将标签设为不透明:
label.setOpaque( true ):
label.setBackground( Color.RED );
我也尝试了填充BOTH,同样的结果。
好吧,我不认为你想要&#34;两个&#34;因为你只关心宽度。您可能还需要使用weightx
约束。阅读How to Use GridBagLayout上Swing教程中的部分,了解有关使用约束的更多信息。
如果没有MCVE/SSCCE
,我们无法准确了解您的行为。