图标位于我的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)