我正在创建一个基于文本的城市管理游戏,并在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);
}
}
非常感谢任何有帮助的人!
答案 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;
}
}