如何将私有方法 ActionPerformed 中的变量传输到 Java 中的另一个方法?

How do you transfer a variable that is within a private method ActionPerformed to another method in Java?

我在 Java 中的一个小程序中创建了一个图形界面。当您在图形界面中创建字段时,您已经自动创建了 actionPerformed(java.awt.event.ActionEvent evt) 方法,这些方法自动成为私有方法。 我创建了一个 JTextField 来接收用户输入的内容。然后我创建了一个字符串变量,例如: String inputfieldinstring = inputtext.gettext().Tostring(); 然后我转成整型变量: int inputValueInteger = Integer.parseInt(inputfieldinstring);

如何将私有 inputTextActionPerformed (java.awt.event.aVTEvent EvT) 方法中的 inputValueInInteger 变量传递给另一个方法处理数据处理?

下面,我想把私有方法ActionPerformed(java.awt.event.ActionEvent evt)里面的inputValueInInteger变量,传给其他方法处理。你是怎么做到的?

private void inputTextActionPerformed(java.awt.event.ActionEvent evt) {                                          
        String inputFieldInString = inputText.getText().toString();
        inputValueInInteger = Integer.parseInt(inputFieldInString);
        }``` 

你可以声明为静态变量:

public class MyFirstClass {

private static Integer inputValueInteger;

public Integer getInputValueInteger() {
    return inputValueInteger;
}

private void inputTextActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String inputFieldInString = inputText.getText().toString();
    inputValueInInteger = Integer.parseInt(inputFieldInString);
    }
}

=============================

public class AnotherClass {

public void somethingmethod(String something) {
    Integer inputValueInInteger = MyFirstClass.getInputValueInteger();
    // Do your other thing in the method
}

或者你可以声明一个静态存储

public class Storage {
    
    private static Map<String, Integer> storageRepresentative = new ArrayList<>();
    
    public getStoreValue(String key) {
           return storageRepresentative.get(key);
    }

    public void storeValue(String key, Integer number) {
           storageRepresentative.put(key, number);
}

===============

在你的 MyFirstClass 中

public class MyFirstClass {

    private static Integer inputValueInteger;

    public Integer getInputValueInteger() {
        return inputValueInteger;
    }

    private void inputTextActionPerformed(java.awt.event.ActionEvent evt) {                                          
        String inputFieldInString = inputText.getText().toString();
        inputValueInteger = Integer.parseInt(inputFieldInString);
        //Store your values here
        Storage.storeValue("current", inputValueInteger);
        }
 }

=====================

public class AnotherClass {

    public void somethingmethod(String something) {
        Integer inputValueInInteger = Storage.getStoreValue("current");
        // Do your other thing in the method

}

这取决于您的需求。