Javaでは有効ではない別のクラスから非静的メソッドを直接呼び出そうとしています。あなたのファーストクラスのpaint()メソッドは非静的メソッドです。変数stickx2などは、ファーストクラスで定義されているように静的であるため、使用できました。
このように、gameLoopクラスにstickFrame()のオブジェクトを作成し、すべてのコードをあなたのstickframe mainメソッドにコピーして、gameLoopメインメソッドに入れることをお勧めします。主に2つの方法があることを強くお勧めします。
スティルフレーム変数をシリアル化IDより下に宣言します。
StickFrame s;
は、その後、あなたのgameLoopコンストラクタで、それをインスタンス化
s = new StickFrame();
は、今は別のクラスの問題から再描画を修正する必要があります。 これを行うには、gameLoopクラスにメソッドが必要です。その後
public void repaintStickFrame()
{
s.repaint();
}
s.repaintStickFrame() in your loop.
でそれを呼び出すか、あなただけの相続人はあなたに似ているとよく
としての解決策がある質問へのリンクを
s.repaint();//place in loop
を呼び出すことができますCalling repaint from another class JFrame
(私たちは別のクラスからの再描画()メソッドを呼び出すことが許さ上で行ったように、)あなたは1を作成したら、あなたがオブジェクトのメソッドを呼び出すことができる方法を説明0
HERESにリンク:
https://docs.oracle.com/javase/tutorial/java/javaOO/usingobject.html
コードを共有するために外部サービスを使用することはお勧めしません。コードは質問に直接テキストとして含める必要があります。 – MikeCAT
私のコードブロックはひどいですが、正しく貼り付けられません。 – Joey402