为什么我被告知无法从静态上下文中引用非静态变量?

时间:2011-03-01 14:10:11

标签: java swing hyperlink jframe jbutton

我正在创建一个按钮,单击该按钮将直接进入网站。但我的代码有错误。该错误表示无法从静态上下文引用非静态变量。

public static void main(String[] args) throws Exception {
     JFrame frame = new JFrame("JLinkButton");
    frame.getContentPane().setLayout(new BorderLayout());
    frame.getContentPane().add("Center", new AnotherLinkButton("www.google.com"));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setLocation(100, 100);
    frame.setVisible(true);
  }

1 个答案:

答案 0 :(得分:2)

假设AnotherLinkButton被正确定义,该代码看起来很好。

你可能有这样的代码:

class Main {
    class AnotherLinkButton {
    }
}

要创建AnotherLinkButton的实例,您需要一个Main的实例。试试这个:

class Main {
    static class AnotherLinkButton {
    }
}

这使AnotherLinkButton独立于Main