0

我需要做什么:

它是基本的,询问用户问题,然后在最终应用程序中提供结果。我在不同的 JPanel 上提出了问题,当用户点击一个选项时,我想记录他的选择并转到下一个问题。最终的 JPanel 将根据用户的选择显示结果。

我是怎么做的:

  1. 启动一个变量。诠释R = 0;
  2. 在按钮的 ActionListener 内部,我使用 set.Visible(); 转到下一个问题(JPanel),并且 R=R+数值。
  3. 选择不同的选项后,变量R会被添加不同的数值。并使用R的总和即最终值来显示适当的结果。

if(R=150) { Show this or that result; }

哪里错了:

我主要有一个 System.out.println(R); 行自己检查结果。它要求我将变量 R 设为静态。因此,到目前为止,我什至看不到 R 的值是否在每个 actionlistener 处更新,更不用说显示结果了。

如果我对这种事情使用正确的方法,也建议。我是初学者,所以我不知道人们通常如何做到这一点。如果没有,请告诉我正确的方法。

4

2 回答 2

0

正确的方法是在扩展 JFrame 的类中创建一个非静态变量。现在您的每个按钮都可以访问它。所以现在相应地增加。要在 main 方法中访问此变量,您必须使用 obj.R,其中 obj 是扩展 JFrame 的类的对象(我相信这就是您开始应用程序的方式)。

于 2013-10-22T02:01:42.033 回答
0

在 Java 中,main 是一个静态方法,这就是为什么您会收到关于 R 需要静态才能访问的错误。尝试将 R 放在类实例中,您应该能够轻松打印它。创建一个 Bean 或 Model 类来保留 R 并处理切换可以让您将逻辑与 GUI 完全分离,并让您远离令人讨厌的静态问题作为副作用。

于 2013-10-22T01:47:19.267 回答