Изменить текст JTextField из другого класса

Как я могу изменить текст jTextField из другого класса

Предположим, у меня есть класс A, в котором, если я выберу предмет и нажму создать учетную запись. Я добавил вкладку с тем же именем в свой jTabbedPane. Эта вкладка класса В. Код для этого:

Нажмите "Создать аккаунт", чтобы вызвать эту функцию addclass(mainCB.getSelectedIndex()).

 public void addclass(int a) {
    String s=(String) mainCB.getItemAt(a); //mainCB is variable name of combobox
    JComponent subpanel2=new B(); //added the class
    jTabbedPane1.add(s,subpanel2); //added new tab which is the new class
    B ob=new B(); //object of new class B
    ob.heading(s); //heading is the function in Class B
}

Теперь, как я могу изменить текст jTextField1 из класса А.

Функция heading() в классе B выглядит следующим образом:

public void heading(String s){
    head.setText(s); //head is the variable name of jTextField1 of class B
}

Я разместил изображение обоих классов А и В.

Это класс Акласс А


Новая панель, добавленная в jTabbedPane, - это класс B. Она вызывается в классе А.

Класс б

1 ответ

Решение

Вы создаете два экземпляра класса B в вашем addClass метод. Я думаю, что это решило бы вашу проблему, чтобы позвонить heading на subpanel2, который имеет тип B, Это будет что-то вроде:

public void addclass(int a) {
    String s=(String) mainCB.getItemAt(a); //mainCB is variable name of combobox
    B subpanel2=new B(); //added the class
    jTabbedPane1.add(s,subpanel2); //added new tab which is the new class
    subpanel2.heading(s); //heading is the function in Class B
}

Это то, что вы хотели?

Другие вопросы по тегам