我在这里茫然。
我可以看到发生以下情况的任何原因:
public class UI extends javax.swing.JFrame {
.
.
.
.
377: private static JDialog dialog;
378:
379: static void conflict_dialog(){
380: dialog = new conflict(this, true,new File("C:\\Users\\Soumya\\Desktop\\a.sh"), 2242);
381: dialog.setVisible(send_mode);
.
.
}
}
无法编译的源代码-非静态变量,不能从new_file_transfer.UI.conflict_dialog(UI.java:380)的静态上下文中引用
关于我为什么会收到此错误的任何想法将非常有帮助
最佳答案
这是问题所在:
dialog = new conflict(this, ...);
您处于静态方法中-您期望
this
是什么?根据thinksteep的答案构造一个新的UI
可能是合适的-或者您可能想使用其他地方的现有引用。很难肯定地说。当您编写该代码时,您要this
指的是什么?(请注意,为了遵循Java命名约定,您的
conflict
类应重命名为Conflict
;您的方法可能应重命名为showConflictDialog
,而您的send_mode
变量可能应为sendMode
。)