2013-03-03 60 views
-3

我想從另一種方法使用這個稱爲「用戶名」的字符串,但我似乎無法弄清楚該怎麼做。從另一種方法調用字符串 - Java

我有這段代碼就在這裏,它指定文本字段的進入到一個變量,但我似乎不能在另一種方法來使用這個變量現在

 //Configuring content pane 
    JFormattedTextField formattedTextField = new JFormattedTextField(); 
    formattedTextField.setBounds(129, 36, 120, 20); 
    UsernameFrame.getContentPane().add(formattedTextField); 
    UsernameFrame.setVisible(true); 

    //Assigning text field entry to variable 
    String username = formattedTextField.getText(); 

,我想使用在方法這個變量下面粘貼,但我不知道我錯過了什麼..

  public void actionPerformed(ActionEvent e){ 
      if(username.length() < 5){ 

      } 
      //Execute when the button is pressed 
      System.out.println("The button has been pressed"); 
     } 

這可能是您的幫助球員很簡單的東西,我失蹤了,謝謝。

(完整的代碼)

http://pastebin.com/RMszazd4

+0

你可能想要在類中聲明'String username'而不是那個特定的方法。 – yoozer8 2013-03-03 03:05:56

回答

1

右後聲明username類聲明是這樣的:

public class App { 
    private String username; 
    public static void main(String[] args) { 
     ... 
    } 
    ... 
} 
+0

可悲的是沒有工作..該變量需要在那裏根據項目的設置。我將在主題中粘貼完整的代碼以顯示我在說什麼 – user2128013 2013-03-03 03:09:00

0

如果這是兩個不同的方法,你將需要再次重新分配的用戶名變量或你可以在你的方法之外創建一個全局變量。

0

您可能希望將字符串變量「username」作爲參數傳遞給另一個方法,因爲除非聲明瞭全局方法,否則它將無法識別另一個方法中字符串的作用域。

0

您似乎沒有閱讀JFormattedTextField的方法。如果我理解你想要正確地做什麼,你可以聲明formattedTextField作爲一個實例變量,然後在監聽器裏聲明的用戶名:

public class Frame { 
JFrame UsernameFrame = new JFrame("Welcome"); 
private JFormattedTextField formattedTextField; 

....

btnSubmit.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      String username = formattedTextField.getText(); 
      if (username.length() < 5) { 

      } 
      // Execute when the button is pressed 
      System.out.println("The button has been pressed"); 
     } 
    }); 

現在你有對JFormattedTextField文本的引用,以便每次按下按鈕時執行操作。

相關問題