JavaのsetColor、setBackgroundについて

このQ&Aのポイント
  • JavaのsetColor、setBackgroundについてエラーが発生する理由と解決方法を教えてください。
  • プログラミング初心者がJavaでg.setColor(Color.red);とsetBackground(Color.yellow);を使用した際にエラーが発生する問題について解決策を教えてください。
  • JavaのsetColor、setBackgroundを使用した際にエラーが発生し、エラーの原因と解決方法を詳しく教えてください。
回答を見る
  • ベストアンサー

javaのsetColor、setBackgroundについて

プログラミング初心者で、困っています。教えてください。Javaで g.setColor(Color.red); というサンプルに良くあるコードをコンパイルしてもエラーになってしまいます。 import java.applet.Applet; import java.awt.Graphics; public class First2 extends Applet{ public void init() { setBackground(Color.yellow); } } をコンパイルすると C:\myJ\test1>javac First2.java .\Color.java:7: ')' がありません。 g.setColor(Color red); ^ First2.java:6: シンボルを見つけられません。 シンボル: 変数 yellow 場所 : Color の クラス setBackground(Color.yellow); ^ .\Color.java:6: java.awt.Graphics は abstract です。インスタンスを生成することは できません。 Graphics g = new Graphics(); ^ .\Color.java:7: シンボルを見つけられません。 シンボル: 変数 Color 場所 : Color の クラス g.setColor(Color red); ^ エラー 4 個 となってしまうんです。 ネット上のいろんなサイトでは問題なく動作するように 書かれていますが、なぜエラーになるんでしょう? どうしたら解決できますか?ご指南下さい。 ちなみにjavaのversion は 1.6 です。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 >import java.applet.Applet; >import java.awt.Graphics; > >public class First2 extends Applet{ >public void init() { >setBackground(Color.yellow); >} >} コンパイルしているファイルが違っていませんか? 上のソースをコンパイルしても仰るようなエラーは出ない気がします。 しかし、上のソースをコンパイルするとまた違ったエラーが出ます。 import java.awt.Color; が無い為、Colorとは何ぞやというエラーが出ます。 簡単な動作確認のソースはこんな感じで動かすことが出来ると思います。 Test.java ===== [ import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class Test extends Applet { Graphics g; public void init() { g = getGraphics(); setBackground(Color.yellow); } public void paint ( Graphics g ) { g.setColor ( Color.red ); g.fillRect ( 10, 10, 50, 50 ); } } ] ===== Test.java Test.html ===== [ <html> <head> <title>Applet Test</title> </head> <body> <applet code="Test.class" width="300" height="200"> </applet> </body> </html> ] ===== Test.html

wygtr22
質問者

お礼

ありがとうございました。おかげで分かりました。うれしいです。 が、新たな問題が、、、、、。またよろしくお願いします。

関連するQ&A

  • コンパイル時のエラーの件

    html上にJavaを表示させようとして、いちばん簡単なプログラム以下を作りました import java.applet.Applet; import java.awt.Graphics; public class hello extends Applet { public void paint (Graphics g ) { g.drawsString ("Hello Java Applet !",20,20); } } その後コンパイルしようとしたのですが、次のようなエラーメッセージが現れました。(特に.awtというのが全くわからないのです。) hello.java:1: シンボルを解釈処理できません。 シンボル: クラス applet 位置 : java の クラス import java.applet.applet; ^ hello.java:2: シンボルを解釈処理できません。 シンボル: クラス awt 位置 : java の クラス import java.awt.graphics; ^ hello.java:4: シンボルを解釈処理できません。 シンボル: クラス applet 位置 : hello の クラス public class hello extends applet { ^ hello.java:5: シンボルを解釈処理できません。 シンボル: クラス graphics 位置 : hello の クラス public void paint (graphics g ) { ^ なにか設定などがおかしいのでしょうか?教えてください。

    • ベストアンサー
    • Java
  • シンボルの解釈処理エラー

    http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/545.zip 上記のプログラムをコンパイルした所、以下のエラーが出て来ました。 javaを始めたばかりで、直し方が分かりません。 どなたか教えてもらえないでしょうか。 1.J120902のエラー kaguhls4% J120902.java:17: ';' がありません。 private enum Emode {sin.cos}; ^ J120902.java:17: シンボルを解釈処理できません。 シンボル: クラス enum 位置 : J120902 の クラス private enum Emode {sin.cos}; ^ J120902.java:18: シンボルを解釈処理できません。 シンボル: クラス Emode 位置 : J120902 の クラス private Emode mode=Emode.sin; ^ J120902.java:50: シンボルを解釈処理できません。 シンボル: メソッド setPreferredSize (java.awt.Dimension) 位置 : J120902 の クラス this.setPreferredSize(new Dimension(1200,400)); ^ J120902.java:88: シンボルを解釈処理できません。 シンボル: 変数 BLUE 位置 : java.awt.Color の クラス g.setColor(Color.BLUE); ^ J120902.java:90: シンボルを解釈処理できません。 シンボル: 変数 RED 位置 : java.awt.Color の クラス g.setColor(Color.RED); ^ エラー 6 個 2.J120905のエラー kaguhls4% J120905.java:77: シンボルを解釈処理できません。 シンボル: メソッド setPreferredSize (java.awt.Dimension) 位置 : J120905 の クラス this.setPreferredSize(new Dimension(kPanelSize,kPanelSize)); ^ エラー 1 個

  • javaアプレットでのy=x^2のグラフ

    javaアプレットでy=x^2のグラフを描写したいのですが、現在の状態ではグラフの右側しか画面に現れません。軸の移動をすればよいと思うのですが、どのように修正すればよいのでしょうか? import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class test1 extends Applet{ public void paint(Graphics g){ g.setColor(Color.red); int x,yp=100,xp=0; for(x=0;x<200;x++){ int y=(int)(x*x)*(-1)+100; g.drawLine(xp,yp,x,y); xp = x; yp = y; } } }

  • 画面のちらつきの原因が知りたいです

    JAVAの初心者です、宜しくお願いします。 下のようなプログラムを書きました。 「public void paint(Graphics g){ ~ repaint();」とすると、画像がちらつきます、しかし、「repaint();」を消すとちらつかなくなります、この原因が分かりません。 一体何故このような現象が起こるのでしょうか、宜しくお願いします。 ========================================================== import java.applet.Applet; import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class Oval_Rec_1_071128 extends Applet implements MouseListener , ActionListener { int x1 ; int y1 ; int xh = 50 ; int yv = 50 ; Button bt1 ; Button bt2 ; public void actionPerformed(ActionEvent ae){} public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void init() { setBackground(Color.yellow); addMouseListener(this); bt1 = new Button("push"); bt1.setFont(new Font("SansSerif", Font.BOLD, 20)); bt1.setBackground(Color.black); bt1.setForeground(Color.lightGray); add(bt1); bt1.addActionListener(this); bt2 = new Button("change_circle"); add(bt2); bt2.addActionListener(this); } public void mousePressed(MouseEvent e) { x1 = e.getX(); y1 = e.getY(); xh = e.getX(); yv = e.getY(); // repaint(); //comment out } public void paint(Graphics g) { g.setColor(Color.red); g.setFont(new Font("Serif",Font.BOLD,24)); g.drawString("Hello Applet World ! !" , 50 , 50); g.setColor(Color.blue); g.drawLine( 100 , 100 , 500 , 500); g.setColor(Color.cyan); g.fillOval( x1 , y1 , xh , yv); g.setColor(Color.magenta); g.fillRect( xh , yv, x1/10 , y1/10 ); repaint(); } }

    • ベストアンサー
    • Java
  • アプレットでパッケージ指定した際の実行方法を教えてください。

    タイトルの通りです>< 例えば次のようなプログラムがあったとします。 package draw; import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; /* <applet code="BackGroundColor.class" width="200" height="200"> </applet>*/ public class BackGroundColor extends Applet { public void paint(Graphics g) { setBackground(Color.cyan); setForeground(Color.lightGray); g.fillOval(10, 10, 180, 100); } } 面倒なのでタグはソース内に書き込みます。 これをアプレットビューアで確認するときに appletviewer BackGroundColor.java とやると「アプレットは初期化されていません」と怒られるわけです。 ですが、「package draw;」を消して、コンパイル後、実行すると 見事成功します。 パッケージ指定したときの実行方法を教えてください><

    • ベストアンサー
    • Java
  • javaの基本

    ここに書いてある http://www.tohwa-u.ac.jp/~kodama/java/1_world.html import java.applet.*; import java.awt.*; public class hello extends Applet { public void paint(Graphics g) { g.drawString("Hello World",20,20); } } hello.javaを作って ターミナルでjavac hello.javaでコンパイルして appletviewer hello.java とやるんですが sun.Applet.Mainというappletviewerが出て ウインドウが出ず困っています コードも間違ってないし 合ってると思います http://www.tohwa-u.ac.jp/~kodama/java/pictures/viewer01.jpg 見たいにでず sun.applet.mainというアプリみたいなのがドックに出て 3秒くらいで消えてしまいます 何故なんでしょう? どなたか詳しい方教えて下さい

    • ベストアンサー
    • Java
  • Javaプログラムの繋げ方について。

    Javaプログラムの繋げ方について。 今まで(1)のようなプログラムを書いていました。 作りたいものに向けて色々検索するとやりたいものに近い(2)のようなサンプルプログラムを見つけました。 しかし、Java初心者なもので混ぜ方(?)がわかりません。 現在の私の知識からいうと今までのはアプレットでフレーム使うのはアプリケーションなのかな?別物なのかな?そんな感じです。 もし、混ぜることができるなら何かアドバイスをお願いします。 (1)package test; import java.applet.* ; import java.awt.Label ; import java.awt.Font ; import static java.awt.Font.BOLD ; import java.util.*; import java.awt.Graphics; import java.awt.Image; import java.awt.*; public class test extends Applet{ public void paint(Graphics g){ g.setColor(Color.red); g.fillOval(320, 200, 100, 100); } public void init () { ~~~~~~~~~~~~~~~~ } public void start () { ------------ }}} (2)import java.awt.*; import java.awt.event.*; public class MouseEvent7 extends Frame { int posX = 50; int posY = 50; public static void main(String [] args){ new MouseEvent7(); } //コンストラクタ MouseEvent7(){ this.addWindowListener(new WinAdapter()); //ウィンドウリスナーの登録 this.setSize(200,200); this.setVisible(true); //MouseMotionListenerの登録 addMouseMotionListener( new MouseMotionAdapter(){ public void mouseMoved(MouseEvent e){ posX = e.getX(); posY = e.getY(); repaint(); //paintメソッドを実行 } } ); } public void paint(Graphics g){ g.drawOval(posX,posY,50,50); } } (1)の内容に本当に(2)のプログラムで出来るマウスの動きに合わせて円も動く+クリックしたらそこで止まるだけいいのですが。 出来たら止まった点の座標も取りたいですが、そこまではいってません;;

  • Fontの指定ができず困っています。

     フォントを設定し、文字を表示させる以下のようなプログラムを作 成しました。しかし、コンパイルするとエラーが表示されます。 --------------------------------------------------------- import java.applet.*; import java.awt.*; public class moji extends Applet{ public void paint(Graphics g){ Font fnt = new Font("Serif",Font.BOLD,18); g.setFont(fnt); g.drawString("Hello Java",10,10); } } --------------------------------------------------------- エラーの内容は以下の通りです。 --------------------------------------------------------- moji.java:5: シンボルを見つけられません。 シンボル: 変数 BOLD 場所 : Font の クラス Font fnt = new Font("Serif",Font.BOLD,18); ^ moji.java:5: 内部エラーです。Font.<init> を Font で () にイン スタンス生成できません。 Font fnt = new Font("Serif",Font.BOLD,18); ^ moji.java:6: setFont(java.awt.Font) (java.awt.Graphics 内) を (Font) に適用できません g.setFont(fnt); ^ ---------------------------------------------------------  なぜ、このようなエラーがでるのか教えていたたでないでしょう か?よろしくお願いします。

    • ベストアンサー
    • Java
  • アプレットでスクロールバーを作りたいがコンパイルエラーが出る。

    アプレットでスクロールバーを作ろうと思っています。下記のコードをコンパイルすると 「import java.applet.Applet;abstract として宣言する必要があります。」とコンパイルエラーになります。いろいろ調べましたが原因がわかりません。なぜこのようなことが生じるのでしょうか? import java.awt.*; import java.awt.event.*; public class testScroll extends Applet implements AdjustmentListener{ Scrollbar sbar; public void init(){ setLayout(new BorderLayout()); sbar=new Scrollbar(Scrollbar.HORIZONTAL,1,10,1,300); add("South",sbar); sbar.addAdjustmentListener(this); } public void paint(Graphics g){ g.setColor(Color.gray); g.fillRect(0,0,350,150); } public void adjustmentValueCanged(AdjustmentEvent e){ if(e.getAdjustable()==sbar){ repaint(); } } } ■C:\**> javac testScroll.java testScroll.java:7: testScroll は abstract として宣言する必要があります。 adjustmentValueChanged(java.awt.event.AdjustmentEvent) を testScroll で定義しません。 public class testScroll extends Applet implements AdjustmentListener{ ^ エラー 1 個

    • ベストアンサー
    • Java
  • アップレットのアクションリスナーが動作しません

     アップレットにアクションリスナーをつけて、アップレットとキャンバスにアクションが来るように 下の様なコードを書いてやりましたがうまく動作しません。どこがまずいのでしょうか、宜しくお願 いします。  ・mouseClickedするとアプレットに四角を書くようにしていますが、最初に表示されてしまいます。  ・mouseEnteredするとキャンバスに四角を書くようにしていますが、最初には表示されず、 mouseEnteredでも四角を書きません。  ・"cs.paint(g);"での書き方が悪いのでしょうか。「gを解決できません」と表示されます。   "paint(g);"としても同じです、"mouseClicked"の中でも同じ書き方ですが、   「gを解決できません」というエラー表示は出ていません。  原因が全く分かりません、どこをどのように修正したら良いのでしょうか、宜しくお願い致します。 ================================================================== import java.applet.Applet; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.AffineTransform; public class ActionTest extends Applet implements MouseListener { Canvas cs ; public void init() { this.setBackground(Color.pink); Canvas cs = new Canvas( ) ; cs.setBackground(Color.green); cs.setSize( 100 , 100 ) ; this.add( cs ) ; this.addMouseListener( this ) ; } public void paint(Graphics g) { g.fillRect( 50 , 50 , 10 , 10 ) ; } public void mouseClicked(MouseEvent e) { Graphics g = getGraphics() ; setBackground( Color.cyan ) ; paint(g) ; repaint(); } public void mouseEntered(MouseEvent e) { cs.setBackground( Color.orange ) ; cs.paint(g) ; repaint(); } public void mouseExited(MouseEvent arg0) { } public void mousePressed(MouseEvent arg0) { } public void mouseReleased(MouseEvent arg0) { } } ==================================================================

    • ベストアンサー
    • Java

専門家に質問してみよう