2016-07-16 4 views
2

Я хотел бы спросить, возможно ли в одном JLabel иметь текст текстового значка, что я имею в виду, это значок, который будет находиться в центре моего текстового текста.Java: JLabel с текстом и значком

Мне удалось переместить текст влево или вправо от значка, но я не могу понять, как поставить значок посередине.

+0

В JLabel есть текст и значок - вы можете иметь ярлык поверх текста, но не два текста и один значок. Вы можете добиться этого с помощью 3 JLabel вместе в соответствующем макете – copeg

ответ

2

значок, чтобы быть в центре моего струнного текста

JLabel имеет текст и значок - вы можете иметь ярлык на верхней части текста, а не два текста и один значок. Вы можете добиться того же взгляда с помощью 3 JLabel вместе в соответствующем макете. Например, с помощью 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")); 

В качестве альтернативы, если вы хотите текст, чтобы быть в верхней части изображения вы можете сделать это, установив соответствующие выравнивания:

JLabel label = new JLabel(); 
label.setIcon(UIManager.getIcon("OptionPane.errorIcon")); 
label.setText("My Text"); 
label.setHorizontalTextPosition(JLabel.CENTER); 
label.setVerticalTextPosition(JLabel.CENTER); 
0

Я хотел бы чтобы спросить, если это возможно в одном JLabel иметь значок текст текст

JLabel может отображать простой HTML:

String html = "<html>before <img src=\"file:someFile.jpg\">after</html>"; 
JLabel label = new JLabel(html); 

, но HTML занимает больше времени для визуализации, поэтому вы можете рассмотреть подход BoxLayout.

Смежные вопросы