我有一个 Java GUI 程序可以模拟一个简单的文本字段(就像便签纸一样)。我希望能够单击关闭按钮,它会自动将其保存到目录中的预定义文本字段中。
但是我遇到了静态错误的问题:
File: C:\Users\Adel\Code\Javas\popupText.java [line: 538]
Error: non-static method open() cannot be referenced from a static context
这是我程序的主要方法:
public static void main(String args[])
{
popupText note = new popupText("Untitled-Notepad");
note.setSize(600,600);
note.setLocation(200,200);
note.setVisible(true);
WindowListener exitListener = new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int confirm = JOptionPane.showOptionDialog(null, "Are You Sure to Close Application?", "Exit Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
if (confirm == 0) {
open(); //THIS CAUSES ERROR!!
System.out.print("Yay I openeed");
addToStatic(); //just added @ end
System.exit(0);
}
}
};
text.append(guts);
note.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
note.addWindowListener(exitListener);
文本区域很简单,看起来像这样,如果你愿意,我也可以给出完整的代码(目前只是有点未格式化):
最佳答案
main
是static
,但open
方法不是。
您只能从其他static
方法访问static
方法(和字段)。
如果没有进一步的代码,我建议你尝试像 note.open()
这样的东西(假设 open
是一种笔记方法)
关于java - 如何在关闭窗口时自动保存 TextArea 中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639455/