и у меня есть следующая проблема. Я новичок в java, и я пытаюсь отправить переменную, которая является user_id, от JInternalFrame до JFrame.java - метод и передающая переменная от jInternalFrame до jFrame
Я не могу использовать конструктор, поскольку JFrame основная программа активируется при запуске и содержащий jDesktoPane
так я пытался использовать методы, однако, не может это сделать (я отправил два метода, оба из которых я пытался, но не получилось)
Метод а)
код в JFrame (Main_window)
public javax.swing.JTextField getID() {
return jTextField_id;
}
public void setID(javax.swing.JTextField ID)
{
jTextField_id = ID;
}
код в JInternalFrame
Main_window send = new Main_window();
send.getID().setText("123");
Метод Б)
код в JFrame (Main_window) USER_ID является переменной подъезд в любом месте JFrame
public void setID(String ID)
{
USER_ID = ID;
}
код в JInternalFrame
Main_window send = new Main_window();
send.setID("123");
как метод ничего не меняют, но не имеют ошибок при компиляции
если есть другой способ сделать это пожалуйста скажите мне :)
жаль моего языка и грамматики. , если это поможет я использовать ECLIPSE составителя
этот код работал для меня, ти за помощью
public void set_ID(String ID)
{
Test_JF mainWindow = (Test_JF) this.getTopLevelAncestor();;
mainWindow.setID(ID);
}
активированного set_ID ("1234");
'new Main_Window(); ... 'выглядит подозрительно, как создание нового экземпляра, вместо вызова' setID() 'в фактическом главном окне. – kiheru
Да, я знаю, но мне нужно отправить идентификатор, который находится в jinternalframe, поэтому я должен использовать его в этом фрейме, что jinternalframe является страницей регистрации. –
Как сказал kiheru, вы устанавливаете идентификатор в новом экземпляре. Возможные решения заключались бы в объявлении id как статическом или передаче ссылки JFrame в конструкторе JInternalFrame –