如何将 JLabel 对齐到 JPanel 的左侧?
Posted
技术标签:
【中文标题】如何将 JLabel 对齐到 JPanel 的左侧?【英文标题】:How to align JLabel to the left of the JPanel? 【发布时间】:2013-07-04 21:25:50 【问题描述】:我想将我的 JLabel 向左对齐。
String lText = "<html><b><font color = white face = comic sans ms size = 20>mybook</font></b></html>";
JLabel label = new JLabel(lText);
label.setBorder(new EmptyBorder(25,0,25,500));
我尝试使用 EmptyBorder 进行此操作,但未正确对齐。我正在使用 FlowLayout
【问题讨论】:
【参考方案1】:FlowLayout
默认使用CENTER
对齐方式。尝试为您的JLabel
JPanel
容器使用LEFT
对齐
myJPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
【讨论】:
这会将整个面板向左对齐。我只想把我的标签放在左边。 @ArchitVerma :Put the JLabel
在JPanel
上,按照答案中的建议,并保持这个新的JPanel
代替你的JLabel
的当前位置:-) 不会这样做?
即如果使用FlowLayout
,则需要使用嵌套容器【参考方案2】:
您可能希望设置 JLabel 的水平对齐属性。一种方法是通过它的构造函数。试试:
JLabel label = new JLabel(lText, SwingConstants.LEFT);
这也可以通过预期的 setter 方法来完成:
label.setHorizontalAlignment(SwingConstants.LEFT);
【讨论】:
这只会对齐标签边框内的文本,而不是标签在面板中的对齐方式。以上是关于如何将 JLabel 对齐到 JPanel 的左侧?的主要内容,如果未能解决你的问题,请参考以下文章
将 jLabel 移动到 jPanel 中的不同位置(类似 Pacman 的游戏)