나는 2 JTabbedPane
입니다. 데이터를 새로 고칠 수 없습니다. 여기에 내 코드입니다, 제발 도와주세요 :자바 JTabbedPane, 다른 탭 업데이트 JLabel 값?
pane1 :
//.. some codes...
// This is the ButtonListener
private class ButtonListener implements ActionListener
{
public void actionPerformed (ActionEvent event)
{
userInput = tf.getText(); // tf is JTextField
//System.out.println("the input is "+ finalInput);
pane2.updateData(userInput);
}
}
pane2 : 여기
public void updateData(String s){
System.out.println("Update data function is called");
labelUser.setFont(new Font("Arial", Font.BOLD, 30));
labelUser.setText("Updated text here " + s);
}
내 메인 클래스 :
import java.awt.*;
import javax.swing.*;
public class Main {
public static Pane2 p2 = new Pane2();
public static void main(String[] args) {
JFrame f= new JFrame ("My Frame");
f.setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE);
JTabbedPane tp = new JTabbedPane();
p2 = new Pane2();
tp.addTab("Pane1", new PaneFirst(p2));
tp.addTab("Pane2", new PaneSecond());
f.add(tp);
f.pack();
f.setVisible(true);
}
}
labelUser
결코 업데이트,하지만 난 함수를 호출하면 updateData
함수가 호출됩니다. labelUser
의 텍스트가 업데이트되지 않는 이유는 무엇입니까?
편집 :
"labelUser
는"pane2.java
클래스에서 제공됩니다.
코드를 올바르게 들여 씁니다 (사이트에 "this is code"라고 말하기 위해 4 칸을 사용하십시오)! –
@Aaron, 왜 그렇게 할 수 없습니까? – jjnguy
labelUser의 출처가 보이지 않습니다. 위젯이 전혀 보이지 않습니까? –