Java:带有文本和图标的JLabel

Ton*_*gis 4 java icons text label jlabel

我想问一下是否可以在单个JLabel中包含文本图标文本,我的意思是该图标位于String文本的中心。

我设法在图标的左边或右边移动了文本,但是我不知道如何将图标放在中间。

cop*_*peg 5

图标位于我的String文本的中心

一个JLabel具有文本和图标-你可以对文本的顶部的标签,而不是两个文本的和一个图标。您可以JLabel在适当的Layout中结合使用3来获得相同的外观。例如,使用BoxLayout:

Box box = Box.createHorizontalBox();
box.add(new JLabel("Text 1"));
JLabel image = new JLabel();
image.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
box.add(image);
box.add(new JLabel("Text 2"));
Run Code Online (Sandbox Code Playgroud)

另外,如果您希望文本位于图像上方,则可以通过设置适当的对齐方式来做到这一点:

JLabel label = new JLabel();
label.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
label.setText("My Text");
label.setHorizontalTextPosition(JLabel.CENTER);
label.setVerticalTextPosition(JLabel.CENTER);
Run Code Online (Sandbox Code Playgroud)