将值从JFrame传递到JPanel

时间:2011-02-11 12:10:37

标签: java jframe jpanel

我使用JFrame和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;



}

有没有办法传递值“name”?我可以扩展JPanel并创建一个新类和一个新方法,但它需要对很多其他类进行大量的修改。

更多信息: 我接受了建议并扩展了JPanel,这实际上是非常无痛的。

NewFileMaker类在另一个类中调用,如

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

其中getfileName()获取我想要的名称。实际上解决方案很简单,我必须向所有人道歉。抱歉浪费你的时间!

2 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是扩展jpanel。 无论如何,如果你不能这样做,你可以添加到jframe一个PropertyChangeListener。

答案 1 :(得分:0)

JPanel没有字符串构造函数,因此您无法以这种方式传递它。

您可以尝试拨打panel.setName(name)