【发布时间】:2013-03-21 19:22:42
【问题描述】:
我正在尝试创建一个文本左对齐和图标右对齐的 JLabel,我尝试了以下代码:
_ip = new JLabel(ip);
_ip.setFont(boldFont);
_ip.setBounds(5, 0, 100, 50);
_ip.setIcon(images.ipBan);
_ip.setBorder(BorderFactory.createLineBorder(Color.black, 1));
_ip.setHorizontalTextPosition(SwingConstants.LEFT);
add(_ip);
这就是我得到的:
红色的图像显示实际的图像对齐,灰色的图像显示我想要图像的位置。
如果我添加
_ip.setAlignmentX(JLabel.RIGHT_ALIGNMENT);
什么都没有发生,如果我添加
_ip.setHorizontalAlignment(JLabel.RIGHT);
图标右对齐,文本也右对齐,我希望它左对齐
有办法吗?
【问题讨论】:
-
添加几个空格不能解决问题吗?我的意思是
jLabel.setText("99.222.22.230 (FEW SPACES) ") -
不,这将是一个从数据库获取的 IP 列表,如果我选择添加一些空格,这意味着我应该知道我正在加载的每个 IP,但实际上我不知道从数据库加载,所以我不能只添加空格
-
我知道这是一种丑陋的方式,但你的 ip string+ " (SPACE)" 会完成这项工作。
-
必须有一种方法(无论是否棘手)来做到这一点,空格只是我不想使用的一种解决方法,主要是因为我使用的字体不是等宽的,所以如果我将一些标签放入 JList 中,每个图标都会与其他图标不对齐
标签: java swing alignment jlabel imageicon