2015-04-20 26 views
0

我得到了下面的代碼來獲取文本,但我有一個問題。它給了我一個錯誤,說它無法解決。我是java gui的新手。希望可以有人幫幫我。我嘗試使用nameP.getText();,但沒有奏效。我不確定它爲什麼是錯誤?Java Gui get.Text();不工作

private class createListener implements ActionListener{ 
    public void actionPerformed(ActionEvent event){ 

      JFrame frame = new JFrame("Create Player"); 
      JPanel panel = new JPanel(); 
      JPanel mainpanel = new JPanel(); 
      JButton create; 
      JLabel welcome = new JLabel("Create Player"); 
      JLabel name = new JLabel("Enter Player Name"); 
      JTextField nameP = new JTextField(); 
      JLabel pass = new JLabel("Enter Player Password"); 
      JTextField passwd = new JTextField(); 
      JLabel chips = new JLabel("Enter Player Chips"); 
      JTextField chipsP = new JTextField(); 
      buttonCreate = new JButton("Create Player"); 

      setSize(400,350); 
      setLocation(500,280); 
      panel.setLayout(new GridLayout(0,1,10,10)); 

      panel.add(name); 
      panel.add(nameP); 
      panel.add(pass); 
      panel.add(passwd); 
      panel.add(chips); 
      panel.add(chipsP); 
      panel.add(buttonCreate); 
      mainpanel.add(panel); 

      getContentPane().removeAll(); 
      getContentPane().add(mainpanel); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setVisible(true); 
      buttonCreate.addActionListener(new createListener()); 
     } 

    } 
    private class playerListener implements ActionListener{ 
    public void actionPerformed(ActionEvent event){ 
     String name = nameP.getText(); 

    } 
} 
+4

'nameP'是你在'actionPerformed'方法中聲明的局部變量。你如何期望在方法之外提供? –

回答

2

nameP變量是local這樣的話你就不能引用它的actionPerformed之外,該範圍nameP之外不存在。如果你想在別處使用它,你可以聲明它爲class member變量。

JTextField nameP; 

    private class createListener implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 
     nameP = new JTextField(); 
     } 
    } 

    private class playerListener implements ActionListener{ 
     public void actionPerformed(ActionEvent event){ 
     String name = nameP.getText(); 
    } 
+1

「全球」在這裏是一個棘手的詞。我認爲「班級成員」更合適。 – Maroun

+0

啊該死的......多數民衆贊成這是爲什麼......感謝人 – Ken

+0

@MarounMaroun - 你是對的,我會編輯。感謝您的建議 – Juxhin