Передача значения из JFrame в JPanel - PullRequest
0 голосов
/ 11 февраля 2011

У меня раздражающая проблема с использованием JFrames и JPanels.У меня есть класс, расширяющий JFrame, и в конструкторе у меня есть строка.Я хочу передать это значение в JPanel также в конструкторе.Я не могу думать, как это сделать.Вот что я сделал:

  public class NewFileMaker extends JFrame{

private String name;

public NewFileMaker(JPanel j, String newfilename){
    setTitle("New File");
    setResizable(false);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.add(j);
    this.pack();
    this.name = newfilename;



}

Есть ли способ передать значение "имя"?Я мог бы расширить JPanel и создать новый класс и новый метод, но для этого потребовалось бы много доработки многих других классов.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я воспользовался советом и расширил JPanel, что на самом деле было действительно безболезненно..

Класс NewFileMaker вызывается в другом классе, подобном этому

new NewFileMaker(new GeneratePanel(getFileName()));

, где getfileName () получает желаемое имя.На самом деле решение настолько простое, что я должен извиниться перед всеми.Извините за потраченное время!

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

JPanel не имеет строкового конструктора, поэтому вы не можете передать его таким образом.

Вместо этого вы можете попробовать panel.setName(name).

0 голосов
/ 11 февраля 2011

Я думаю, что лучшим решением было бы расширение jpanel.В любом случае, если вы не можете этого сделать, возможно, вы можете добавить в jframe PropertyChangeListener.

...