Java 如何使用不同类中的类中的方法?
我已经试了几个小时了,但是没有用 我试图在Game.java类中使用paintComponent方法,但我不确定具体如何做到这一点 我尝试过直接调用这个函数,但它当然不起作用,因为它需要返回一些东西 我需要使用的方法在这个“Circles.java”类中:Java 如何使用不同类中的类中的方法?,java,class,methods,paintcomponent,Java,Class,Methods,Paintcomponent,我已经试了几个小时了,但是没有用 我试图在Game.java类中使用paintComponent方法,但我不确定具体如何做到这一点 我尝试过直接调用这个函数,但它当然不起作用,因为它需要返回一些东西 我需要使用的方法在这个“Circles.java”类中: 这是需要paintComponent方法(Game.java)的类: 我得到的错误是: frame.add(new (Circles())); 错误是: identifier expected cannot find symbol
这是需要paintComponent方法(Game.java)的类:
我得到的错误是:
frame.add(new (Circles()));
错误是:
identifier expected
cannot find symbol
symbol: method Circles()
location: class Game
cannot find symbol
symbol: variable frame
location: class Game
首先,它应该是
newcircle()
而不是new(Circle())
第二件事是
new
和Circle()主方法中的code>正在访问一个变量,该变量仅在LoadUI()
方法中可用
要能够访问该变量,您需要在LoadUI()
方法之外声明它,如下所示:
...
public class Game extends JFrame {
JFrame frame;
public static void LoadUI()....
第二,如上所述,括号的位置是错误的,这意味着初始化圆
对象的方法是错误的
要使此代码正常工作,可以在主方法中执行以下操作:
LoadGUI();
frame.add(new Circles());
尽管我建议对GUI/JFrame使用单独的类/对象,不要将LoadUI()
方法设置为静态。
您还可以以一种更易于阅读的方式缩进代码,这也只是为了让自己更容易:)可能重复而不是框架。添加(新的(圆圈());写入frame.add(新圆圈());谢谢你,伙计,成功了!我这样声明变量:publicstaticjframe=newjframe(“只是一个测试!”);Java做对了!顺便问一下,你认为我应该委托每个类来完成一个特定的功能(比如画圆圈,加载UI),然后在主界面中执行所有这些吗?@GianfrancoStercoforti好吧,一般来说,Java是一种面向对象的语言,这意味着是的,你可以为每个功能使用一个单独的类。但您应该尝试在某种对象之后对类进行建模(只是部分建模)。这就是为什么有JFrame。广义地说,它应该代表一个窗口。您可以对表示文件的File类执行相同的操作。因此,我建议您使用单独的方法加载UI等,但可能会将其保留在同一个类中,并使用对象/类进行文件管理(单独的目的)。
...
public class Game extends JFrame {
JFrame frame;
public static void LoadUI()....
LoadGUI();
frame.add(new Circles());