Изменить текст JTextField из другого класса - PullRequest
1 голос
/ 10 июля 2011

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

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

при нажатии «Создать учетную запись» эта функция 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 из класса A. * Функция heading () класса B

* 1009 в классе B выглядит следующим образом:
public void heading(String s){
    head.setText(s); //head is the variable name of jTextField1 of class B
}

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

Это класс A class A


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

Class B

1 Ответ

2 голосов
/ 10 июля 2011

Вы создаете два экземпляра класса 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
}

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

...