2013-05-20 2 views
2

그래서, 내가 프로그램을 만들고있어 그 위에 배치되고, 프로그램, 그것은 형식으로 당신의 건강을 표시JLabel의 업데이트, 이전의 텍스트는 유지하고, 기존 텍스트는

Health : 82/82 

당신은 내가 JLabel를 업데이트 프로그램을 요청하고, 당신은 JLabel는 공용 변수이며, 한 번만 생성되는이

Health: 60/82 

같은 손상을 걸렸다 표시 할 것, 피해를

public JLabel UIHealth = new JLabel(); 

그리고 그 이후는 아래 코드로 업데이트됩니다.

UIHealth.setText("Health: "+Health+"/"+PlayerHealthBar.getMaximum()+""); 

가 업데이트됩니다 텍스트를 표시 할 수있는 간단한 방법이 있나요 : 여기에 내가 작업이 occures 후 텍스트를 갱신 UIHealth JLabel를 업데이트하는 데 사용하는 코드입니다? 내 프레임 및 모든 패널이 HUD 역할을하는 이미지를 볼 수 있도록 투명하게 설정되어야합니까? 투명하지만 여전히 상호 작용하는 모든 것에 적용한 코드는 다음과 같습니다.

public Color Clear = new Color(0,0,0,0); 

나는 물론 호출 Clear.setBackground 구성 요소를 사용하는 것입니다.

여기에 UI에서 약간의 손상 (4-5 히트)이 발생한 후의 이미지입니다. 모든 시간을 사전에

UI After taking a few hits

감사합니다 (텍스트는 단지 자체의 상단에 스택 방법에주의하십시오). 불확실한 점이 있거나 내 프로그램에 대한 다른 스 니펫이 필요한 경우 알려주십시오.

+1

'UIHealth'는'JLabel'입니까? 그렇다면 표준적인 Java 명명 규칙을 따르지 않아서 혼란 스러울 수도 있습니다. –

+0

UIHealth는 JLabel입니다.이 질문을 확인하는 것이 다른 사람에게 분명합니다. – user2388169

+0

질문에 익숙하지 않으므로 최선을 다해 답변하려고합니다. 가능한 한 명확하지 않은 질문이 유감입니다. – user2388169

답변

2

레이블을 추가 할 JPanel이 있습니다. 생성 후 myPanel.setOpaque(false);으로 전화해야합니다.

+0

사실, 'JLabel UIHealth'는 그렇지 않습니다. '.setBackground()'로 바뀌 었습니다. 그러나 자체적으로 중첩 된 패널은'.setBackground() '로 변경되었습니다. 이것이'JLabel UIHealth'에서 문제가 될 수 있습니까? – user2388169

+1

나는 그것을 해결했다. 지금 편집 대답. – Breavyn

+0

방금'repaint() '를 호출 할 필요가 없다는 것을 깨달았습니다. – Breavyn