无法更改Swing中的活动选项卡,"非静态方法无法引用"

时间:2014-12-18 19:45:20

标签: java swing netbeans jtabbedpane

我目前遇到了Swing的问题,我试图从Tab 1获取一个按钮,一旦点击,就转到标签2.这两个代码块在这里工作,到目前为止据我所知,如下:

// Variables declaration - do not modify                     
private javax.swing.JTabbedPane jTabbedPane;
// End of variables declaration                   

private void addTabs() {
    this.jTabbedPane.add("Home page", new Home());
    this.jTabbedPane.add("Nieuwe Gebruiker", new UserNew());
    this.jTabbedPane.add("Terugkerende gebruiker", new UserReturning());
    this.jTabbedPane.add("Ingelogde gebruiker", new UserReturning());
    this.jTabbedPane.add("Administrator", new Admin());
}

public void setTab(String tabName) {
    this.jTabbedPane.setSelectedIndex(jTabbedPane.indexOfTab(tabName));
}

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO Go to user logged in page
    FullHouse.setTab("UserLoggedIn");
} 

但是,后一段代码在调用setTab方法时出错:

non-static method setTab(String) cannot be referenced from a static context

我尝试将setTab方法设为静态,但Netbeans抱怨jTabbedPane不是静态的。我无法使jTabbedPane静态,因为Netbeans不允许我以这种方式编辑代码。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你需要有一个可以调用setTab的FullHouse实例。 换句话说,编译器问,WHICH FullHouse你想调用setTab吗?你希望在某个地方实例化它。

如果没有第一个代码块中的更多详细信息,则无法提供更多细节。