2016-07-16 5 views
2

하나의 JLabel에서 텍스트 아이콘 텍스트를 가질 수 있는지 물어보고 싶습니다. 아이콘은 내 String 텍스트의 가운데에 있어야합니다.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 접근 방식을 고려할 수 있습니다.

관련 문제