Изменить текст 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
}
Это то, что вы хотели?