2014-01-13 1 views
1

Мне нужно создать логин JFrame и мне нужно имя пользователя во всех JDialog s, которые принадлежат JFrame. Как мне это реализовать?Как я могу получить доступ к методу владельца JFrame в JDialog

Я пробовал следующий код.

class MyFrame extends Jframe { 

    public getusername() { 
     return username; 
    } 

    createGui() { 
     JButton btnsubmit; 
     btnsubmit.addActionListener(new ActionListener() { 
      void actionPerformed(ActionEvent e) { 
       new MyJDialog(MyFrame.this); 
      } 
     }); 
    } 
} 

в JDialog Я пытаюсь использовать getusername() таким образом

MyJDialog(JFrame frame) { 
    super(frame); 
    String us=frame.getusername(); 
} 

, но он не работает. Что я делаю не так?

+2

Вашего пример не компилируется ... – MadProgrammer

+0

Если это имя пользователя будет использоваться много раз в вашем приложении, это рекомендуется использовать 'static String' для сохранения имени пользователя. –

+0

При редактировании мне пришлось сжиматься на 'createGui()'. Как это возможно? Вам нужен тип возврата, и лучше сделать его приватным: 'private void createGui()'. Кроме того, научитесь [отступы свой код] (http://en.wikipedia.org/wiki/Indent_style) – Justin

ответ

2

getusername недействительный метод для JFrame.

Вы должны указать конкретную реализацию в рамках конструктора диалогов ...

MyJDialog(MyFrame frame) {...}