2011-07-10 2 views
1

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

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

OnClick на "Create Account" эта функция 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 текст из класса А.

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

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

Я отправил образ обоих классов а и В.

Это Класс A class A


Новая панель, которая добавляется в JTabbedPane является класс B. Это вызывается в классе А.

Class B

+0

В основном я должен добавлять панели, если что-то выбрано в combobox, а «Создать учетную запись» - щелчок. Класс B - это jPanel, содержащий второе изображение. Поэтому я добавляю компонент в свою вкладку в первом классе. Но я не могу изменить какое-либо свойство формы класса B из класса A – Gaurav

ответ

2

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

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

+0

. Subpanel2.heading (s) показывает ошибку. он говорит, что не может найти метод heading() – Gaurav

+0

А, вам нужно объявить 'subpanel2' как' B', а не 'JComponent', поэтому компилятор знает, что он способен выполнять метод' heading'. Я отредактировал свой пост, чтобы отразить это. – 101100

+0

Ahh ... это работает ... Спасибо, очень много .. я googled моя задница для этого – Gaurav

 Смежные вопросы

  • Нет связанных вопросов^_^