如何在JTabbedPane中创建一个访问JTabbedPane之外的类的对象?

时间:2014-10-12 03:34:48

标签: java class object jpanel jtabbedpane

我正在创建一个基于文本的城市管理游戏,并在JFrame中使用JTabbedPanes。 JTabbedPane里面有4个主要的JPanels来显示(1)城市人口,(2)经济舱分类,(3)社会阶层分类,以及(4)总体支持率。这些JPanel里面有很多其他的JPanel来显示内容。

我将在课程中计算出的支持率" 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和相关元素:JLabels等。)

这是我的主要方法:

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);
}

}

非常感谢任何有帮助的人!

1 个答案:

答案 0 :(得分: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;
  }
}