一个外行关于变量定义和使用的问题:
我需要制作一个 Java GUI 来获取用户的输入并将其存储在文本文件中。然而,这种编写必须在 Actionlistener 类中完成(即,用户单击按钮并创建和存储文本文件)。这意味着我必须在一个类(公共类)中定义一个变量并在另一个类(定义 Actionlistener 的那个)中使用它。
我怎样才能做到这一点?全局变量是唯一的方法吗?
在我的代码中,我首先将'textfield'定义为JTextField,然后我希望它被读取(作为'text')并存储(在'text.txt'中)。
import javax.swing.*;
//...
import java.io.BufferedWriter;
public class Runcommand33
{
public static void main(String[] args)
{
final JFrame frame = new JFrame("Change Backlight");
// ...
// define frames, panels, buttons and positions
JTextField textfield = new JTextField();textfield.setBounds(35,20,160,30);
panel.add(textfield);
frame.setVisible(true);
button.addActionListener(new ButtonHandler());
}
}
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
String text = textfield.getText();
textfield.setText("");
new BufferedWriter(new FileWriter("text.txt")).write(text).newLine().close();
// Afterwards 'text' is needed to run a command
}
}
当我编译时,我得到
Runcommand33.java:45: error: cannot find symbol
String text = textfield.getText();
^
symbol: variable textfield
location: class ButtonHandler
没有行String text = to new BufferedWriter代码编译。
请注意,我已经 在其他类中尝试过此 Get 变量的建议, 以及 如何在另一个类的函数中访问一个类的变量? 但他们没有工作。
有什么建议么?