我在这里茫然。

我可以看到发生以下情况的任何原因:

        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。)

09-11 19:47
查看更多