2013-03-03 5 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

ответ

1

Объявить username сразу после объявления класса, как это:

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

Это, к сожалению, не сработало. Переменная должна быть основана на настройке проектов. Я вложу полный код в тему, чтобы показать, что я говорю – user2128013

0

Если эти два отдельных метода вам нужно будет снова переназначить переменную имя пользователя или вы можете создать глобальную переменную вне ваших методов.

0

Возможно, вы захотите передать строчную переменную «имя пользователя» в качестве параметра другому методу, поскольку он не будет распознавать область вашей строки другим способом, если только ее объявленная глобальная.

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, чтобы делать то, что вы будете, при каждом нажатии кнопки.

Смежные вопросы