【问题标题】:Calling String from another method - Java从另一种方法调用字符串 - Java
【发布时间】:2013-03-03 03:03:39
【问题描述】:

我正在尝试从另一种方法中使用这个名为“用户名”的字符串,但我似乎不知道该怎么做。

我这里有这段代码,它将文本字段的条目分配给变量,但我似乎无法在其他方法中使用此变量

        //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

【问题讨论】:

  • 您可能希望在类中声明String username,而不是在该特定方法中。

标签: java eclipse methods using


【解决方案1】:

在你的类声明之后声明username,如下所示:

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

【讨论】:

  • 遗憾的是没有奏效。根据项目的设置,该变量必须存在。我将在主题中粘贴完整代码以显示我在说什么
【解决方案2】:

如果这是两个单独的方法,您将需要再次重新分配用户名变量,或者您可以在您的方法之外创建一个全局变量。

【讨论】:

    【解决方案3】:

    您可能希望将字符串变量“用户名”作为参数传递给另一个方法,因为它不会在另一个方法中识别您的字符串的范围,除非它声明为全局的。

    【讨论】:

      【解决方案4】:

      您似乎没有办法阅读 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 文本的引用,可以在每次按下按钮时执行您想做的事情。

      【讨论】:

        猜你喜欢
        • 2011-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-05
        • 1970-01-01
        • 1970-01-01
        • 2021-09-18
        • 2015-10-09
        相关资源
        最近更新 更多