将一个String变量存储在Java中以便以后使用它

时间:2015-09-07 14:17:34

标签: java button repository preferences

我有一个问题。在我的应用程序中,我有一个按钮,当我单击它时,文本保存在String变量中,当变量不在操作按钮内时,值为NULL,如何保存变量中的值并使用它后来。

private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 413, 445);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        JButton btnNewButton = new JButton("Word for Search");
        btnNewButton.setBounds(223, 62, 118, 23);
        frame.getContentPane().add(btnNewButton);

        textField = new JTextField();
        textField.setBounds(35, 63, 131, 20);
        frame.getContentPane().add(textField);
        textField.setColumns(10);


        btnNewButton.addActionListener( new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            search = textField.getText();
            System.out.println("String for car = " + search); 
        WebDriver driver = new FirefoxDriver();
        driver.get("https://en.wikipedia.org/wiki/" + search);
        String tstr1 = driver.findElement(By.xpath("//*[@id='content']")).getText();
        System.out.println("String for car = " + tstr1);

        driver.close();
            }
        }); 

    }  
}

我想要的是当我从public void actionPerformed(ActionEvent e)退出时String tstr1保留已保存的数据。

4 个答案:

答案 0 :(得分:2)

这不是一个很好的做法,但您是否尝试将var声明为全局?

这样你的var可以随意保留值。

private String globalString;

private void functions() {
   ...
} 

答案 1 :(得分:1)

您可以在班级中创建

字段
  

private String tstr1;

并在您的方法中,您可以指定值

  

tstr1 = driver.findElement(By.xpath("//*[@id='content']")).getText();

当您需要访问该字段时,您可以致电

  

tstr1;

答案 2 :(得分:1)

确切地说,您需要做的就是定义一个全局变量。如果要从类外部访问变量,只需添加一个Getter:

public String getTStr1() { return tstr1; }

如果您想要保存多个字符串,只需以全局方式使用List,例如

private List<String> tStrings = new ArrayList<String>();

并将每个tstr1添加到列表

tStrings.add(tstr1);

然后您不需要全局tstr1字段。

答案 3 :(得分:0)

在函数外部将其定义为对象成员

BorderThickness="0"
IsReadOnly="True"