2014-10-12 62 views
0

我正在創建一個基於文本的城市管理遊戲,並在JFrame中使用JTabbedPanes。 JTabbedPane內部有4個主要JPanel,用於顯示(1)城市人口,(2)經濟類別細分,(3)社會階層細分,以及(4)總體支持率。這些JPanel內有許多其他JPanel來顯示內容。如何在JTabbedPane中創建一個訪問JTabbedPane之外的類的對象?

我將有支持率在類「ApprovalRating」但目前計算中使用46作爲佔位符:

public class ApprovalRating { 

    ApprovalRating(){ 
    int rating; 
    } 

    public void getRating() { 
    int rating = 46; 
    } 

但是我似乎無法創建一個對象,將能夠訪問類或方法,我需要:

StaticsticsTab(){ 


avgApprove = new JPanel(); 
     ApprovalRating() t1 = new ApprovalRating();// this line doesn't work 
     int myRating = t1.getRating();// t1 hasn't been created so this line won't work either 
     JLabel rating = new JLabel(""+myRating); 


} 

(我已經離開了我的大部分StatisticsTab類的,但我可以張貼整個事情,如果你覺得它會幫助剩下的就是創建JPanels和相關要素:Jlabel之下等等)

這裏是我的主要方法:

public class Main { 
public static void main(String[] args) { 
    final int WIDTH = 500; 
    final int HEIGHT = 600; 


    JFrame frame = new JFrame("City Manager"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(WIDTH,HEIGHT); 
    frame.setLocationRelativeTo(null); 

    JTabbedPane tp = new JTabbedPane(); 
    tp.addTab("Statistics", new StatisticsTab());//Accesses JPanels made in this tab; 

    frame.getContentPane().add(tp); 
    frame.setResizable(false); 
    frame.setVisible(true); 
} 

}

非常感謝任何人,可以幫助!

回答

0

ApprovalRating t1 = new ApprovalRating(); ...沒有第一"()"

public void getRating()不返回任何內容:

public class ApprovalRating { 

    private int rating; 

    public ApprovalRating() { 
    // TODO implement rating calculation 
    rating = 46; // int literal for now 
    } 

    public int getRating() { 
    return rating; 
    } 
}