2014-10-10 3 views
1

텍스트 만 사용하여 JLabel을 만듭니다 (프로그램의 다른 부분에서 사용자 정의). 여기에 이미지를 게시 할 수는 없지만 레이블에 패딩이 있습니다 (텍스트와 테두리 사이에 간격이 있음을 의미).JLabel은 텍스트와 테두리 사이의 공백을 제거합니다.

패딩이 너무 두꺼우 길 원하지 않습니다. 너무 두껍지 않도록 패딩을 압축하는 방법이 있습니까? 이것들은 내가 시도한 것 (하나씩, 전부가 아니다)이다.

setPreferredSize(width, height); 
setBorder(new EmptyBorder(new Insets(0,0,0,0))); 
setBorder(new EmptyBorder(new Insets(-5,-5,-5,-5))); 

아무 것도 작동하지 않는다. 기껏해야 JLabel을 축소하지만 패딩은 그대로 유지됩니다. 패딩은 대신 내 텍스트를 덮어 버립니다. setMargin이 작동 할 수도 있지만 JLabel에는 setMargin이없는 것 같아서 길을 잃어 버렸습니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다!

+2

(대부분의) JComponents의 (대부분의) JComponents에 대한 중요한 부분은 SSCCE/MCVE가 없으면 LayoutManager에서 자동으로 수행되며, 짧고, 실행 가능하며, 컴파일 가능한 thos 질문은 여기서 답할 수 없습니다. – mKorbel

답변

2

나는 그것을 알아 냈다. 내가 보았던 '테두리'는 사실 레이블이 아니라 패널이었습니다. 레이블의 배경 자체는 투명했습니다 (레이블에 setOpaque (true)를 설정하지 않았습니다). 내 레이블은 패딩이 전혀 없다는 것을 알게되었는데, 이것이 내가 원했던 것입니다. 나는 패널에 패딩이 너무 (FlowLayout에 의해 완료 됨) 왜 모든 것이 잘되는 지 이해합니다. 신속한 대응을 위해 mKorbel에게 감사드립니다! 나는 그 질문을 닫을 것이다.

관련 문제