2013-07-24 60 views
0

我很新的Java和我想一个JTextField传递到另一个阶级。 这里是我的代码:传递的JTextField到另一个类

方法从SellWindow类发送的JTextField:

public JTextField sendTextField(){ 
    return addItemField; 
} 

方法得到的JTextField在EnterAction类:

public JTextField getItemField(){ 
    SellWindow field=new SellWindow(); 
    addItem=field.sendTextField(); 
    return addItem; 
} 

执行的数据EnterAction类:

public void enterData(){ 
    System.out.println(this.getItemField().getText()); //output blank 
    System.out.println(this.addItem); //output "null"   
} 

我不知道实际问题在哪里。执行代码后,它会按照代码注释中的说明提供以下输出。如果有人能解决这个问题,这将是非常有帮助的。我对Java非常陌生,这是我的第一个程序。

+0

在这些行中: SellWindow = new SellWindow(); addItem = field.sendTextField(); 要创建新的SellWindow对象,您试图访问其文本字段,它创建的对象后,很可能是空(NULL)。 – FazoM

+1

我很难相信'enterData()'会输出一个空行与第二行的第一行输出'null'。你能构建一个[独立示例](http://sscce.org/#selfcon)吗? – Dukeling

+0

*“我很新的Java和这是我的第一个程序。” *开始编码的命令行程序!当你接触GUI编程时,对此的回答应该是显而易见的。除非你是19世纪的英国剧院老板,否则它被拼写成'节目' - 通常以这种方式拼写(即不正确)。 –

回答

0

这不是完全清楚你想要做什么,但我可以告诉你有一个SellWindow帧和EnterAction框架,并要在二者之间传递用户输入。我看到的一个问题是,在getItemField方法中,您正在创建一个新的SellWindow实例,但没有显示它或允许用户与它进行交互。相反,我会使SellWindow成为一个JDialog,并且一旦用户关闭对话框,就可以获得输入。试试这个:

public JTextField getItemField(){ 
    SellWindow field=new SellWindow(null, true); 
    field.setVisible(true); 
    addItem=field.sendTextField(); 
    return addItem; 
} 
相关问题