Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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_Api_Class_Object_Methods - Fatal编程技术网

我如何找到一个在java中使用的方法,只知道该方法应该做什么?

我如何找到一个在java中使用的方法,只知道该方法应该做什么?,java,api,class,object,methods,Java,Api,Class,Object,Methods,我正在设计一个使用简单java形状的游戏背景。 我试图引用一个类Waves,它绘制一个对象,并像在另一个类中的对象一样使用它,这样我就可以通过X,Y坐标移动它。我这样做是因为我需要多次使用它。但我不知道移动被调用对象的方法。在我的情况下,我可以使用什么方法和/或在API中搜索什么? 波浪也会延伸到JPanel吗 然后调用波的一个分量 但问题是,在每一幅画上,你每次都会重新创建波浪。在我看来,它应该是Stickman的成员,并且只能在构造函数中初始化/创建一次,而不是每次绘制窗口时。Waves不会

我正在设计一个使用简单java形状的游戏背景。 我试图引用一个类Waves,它绘制一个对象,并像在另一个类中的对象一样使用它,这样我就可以通过X,Y坐标移动它。我这样做是因为我需要多次使用它。但我不知道移动被调用对象的方法。在我的情况下,我可以使用什么方法和/或在API中搜索什么? 波浪也会延伸到JPanel吗


然后调用波的一个分量


但问题是,在每一幅画上,你每次都会重新创建波浪。在我看来,它应该是Stickman的成员,并且只能在构造函数中初始化/创建一次,而不是每次绘制窗口时。

Waves不会扩展任何内容或实现任何接口,因此您需要自己编写该方法!听起来像是一个设计问题:你应该分割模型的实现什么是波浪?包括演示中波浪的位置如何绘制波浪?我想他是说波浪类是JPanel,因为有一个方法组件。他不是从代码中漏掉了它,就是当他用SODo编写类时,我也必须将Waves类扩展到JPanel?
import java.awt.*; 
import java.awt.event.*;
import javax.swing.*;

public class Stickman extends JPanel{

public void paintComponent(Graphics g)
{
    this.setBackground(new Color (135, 206, 235));
    //Check operation of "this" in API

    final int XMID = 400;
    final int YMID = 300;

    Color Ocean = new Color (143, 188, 143);
    Color Ship = new Color (139,  69,  19);
    Color Sail = new Color (255, 228, 196);

    Waves waves = new Waves(); //THIS IS THE PART WHERE I WANT TO CALL AND MOVE 
                               //THE OBJECT 
    }
}
import java.awt.Color;
import java.awt.Graphics;

public class Waves 
{
public void paintComponent(Graphics g)
{
    final int XMID = 400;
    final int YMID = 300;
    //small cirlce diameter
    final int SMCD = 60;
    double BGCD = SMCD * 2;

    //wave base
    g.fillRect(0, 462, 800, 28);
    //first big circle (ARC)
    g.fillArc(XMID-(SMCD/2) - 8, 480-SMCD - 8, (int)BGCD, (int)BGCD, 0, 130);

    //first small circle
    g.setColor(Color.CYAN);
    g.fillOval(XMID-(SMCD/2),480-SMCD , SMCD, SMCD);

    }
}