Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用不同类中的类中的方法?_Java_Class_Methods_Paintcomponent - Fatal编程技术网

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

我已经试了几个小时了,但是没有用

我试图在Game.java类中使用paintComponent方法,但我不确定具体如何做到这一点

我尝试过直接调用这个函数,但它当然不起作用,因为它需要返回一些东西

我需要使用的方法在这个“Circles.java”类中:



这是需要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()正在访问一个变量,该变量仅在
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());