ここから本文です

java勉強中の初心者です。 本を見ながら勉強しているのですが、本と全く同じよ...

nat********さん

2016/1/915:55:29

java勉強中の初心者です。

本を見ながら勉強しているのですが、本と全く同じようにソースコードを打つと、エラーが4つも出てきてしまい、解決方法が分からず困っています。

ちなみにプログラムの内容は、ウインドウに丸と四角を表示させるという簡単なものです。

エラーの説明は上から順に、
①型Graphics2DのメソッドsetBackground(Color)は引数(Color)に適用できません
②型GraphicsのメソッドsetColor(Color)は引数(Color)に適用できません
③Ellpse2D.Doubleを型に解決できません
④ ②と同じ
というものです。型が合っていないのでキャストが必要ということでしょうか?
初歩的な質問ですみません。ぜひ回答よろしくお願い致しますm(_ _)m

↓ソースコードです。★がついている箇所が問題の部分です。

package jp.libroworks;

import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferStrategy;
import java.sql.Time;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JFrame;

import com.sun.javafx.geom.Ellipse2D;
import com.sun.prism.paint.Color;

public class GameTestMain {

public static void main(String[] args) {
GameTestMain gtm=new GameTestMain();
gtm.start();
}

JFrame mainwindow;
BufferStrategy strategy;

//コンストラクタ
GameTestMain(){
this.mainwindow=new JFrame("ゲームテスト");
this.mainwindow.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.mainwindow.setSize(800,720);
this.mainwindow.setLocationRelativeTo(null);
this.mainwindow.setVisible(true);
this.mainwindow.setResizable(false);
//バッファストラテジー
this.mainwindow.setIgnoreRepaint(true);
this.mainwindow.createBufferStrategy(2);
this.strategy=this.mainwindow.getBufferStrategy();

}

void start(){
Timer t=new Timer();
t.schedule(new RenderTask(), 0,16);
}

void render(){
Graphics2D g=(Graphics2D)this.strategy.getDrawGraphics();
★ g.setBackground(Color.BLACK);
g.clearRect(0,0,
this.mainwindow.getWidth(),this.mainwindow.getHeight());
★ g.setColor(Color.RED);
★ g.draw(new Ellipse2D.Double(100,100,100,100));
★ g.setColor(Color.RED);
g.fill(new Rectangle2D.Double(400,400,100,100));
g.dispose();
this.strategy.show();
}

class RenderTask extends TimerTask{
int count=0;

public void run() {
GameTestMain.this.render();

count++;
System.out.print(count+" ");

}
}

}

g.setColor,Color.Red,public void run,new RenderTask,Graphics2D g

閲覧数:
259
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

agr********さん

2016/1/916:01:47

import を間違えてるだけ。

import java.awt.Color;
import java.awt.geom.Ellipse2D;

を加えて、

import com.sun.javafx.geom.Ellipse2D;
import com.sun.prism.paint.Color;

を消しなさい。

  • 質問者

    nat********さん

    2016/1/916:11:43

    無事動きました!インポートはクリックで勝手に追加してもらってたので全く考えが及びませんでした…(−_−;)丁寧なご回答、ありがとうございました!とても助かりました!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる