1
다음의 클래스에서 Label을 그립니다. (나는 여기에 코드의 일부만을 주었다). Everyhting 잘 작동 레이블이 표시됩니다.다른 클래스의 JLabel 텍스트를 변경하십시오.
이제는 Caller
클래스라는 또 다른 클래스가 있습니다. 나는이 레이블의 가치를 바꾸는 데 사용할 방법이있다. 어떻게해야합니까?
public class MyClass{
private JLabel label;
MyClass(){
run();
}
public void editTheLabelsValue (String text) {
label.setText(text);
frame.repaint();
}
run(){
.... // there were more code here, i removed it as it's not relevant to the problem
label = new JLabel("Whooo");
label.setBounds(0, 0, 50, 100);
frame.getContentPane().add(label);
.....
}
나중에, 위의 레이블의 텍스트를 변경하려면 다음 클래스를 사용합니다. 어떻게해야합니까? methodA()가 실행되면
public class Caller {
void methodA(){
MyClass mc = new MyClass();
mc.editTheLabelsValue("Hello");
}
}
1.
), 텍스트Hello
는 레이블 필드에 표시 점점되지 않습니다. 여전히
Whooo
으로 남아 있습니다. 이 문제를 어떻게 해결할 수 있습니까? 해당 메서드가 실행되면 레이블 텍스트를
Hello
으로 지정합니다.
코드가 지정된대로 작동하는 것 같습니다. 그것은 어떻게 작동하지 않습니까? – PearsonArtPhoto
'methodA()'가 실행되면'Hello'라는 텍스트가 Label 필드에 표시되지 않습니다. 그것은 여전히'Whooo'로 남아 있습니다. –
'label.setBounds (0, 0, 50, 100); – Reimeus