Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Panel

何度もすいません。

public class クラス名 extends Panel{---------}

public class クラス名 extends Panel{---------}
の中に、
public void paint(Graphics g){---}

g.drawImage
って入れるコトできますか?

21

回答

79402

閲覧

21件の回答

評価

0

やってみたんですか?

評価

0

やってみて、エラーでたから、出来るのかな?って質問です。

評価

0

最初の書き込みでは、まったく分かりません。
それに「エラーがでた」のなら、それについて何を調べたのかとか、何を試したのかとか、そういったことも書かれていません。
どんなエラーなのかも書かれていません。

評価

0

mioさんのおっしゃる通りです。
やってみたことと、それについてのエラーを、書いてみてください。
でないと、答えようがありません。。。^_^;

評価

0

extends Panelと宣言したら、public void init()やpubulic void Graphic.g()などは、使えませんよね?init()などは、public クラス名()の中に放り込んだんです。しかし、 getImage()を放り込んだら、
Panel.java:59: <identifier> がありません。
pict46 = getImage(getDocumentBase(),"ken/kagosima.png");

とでます。

評価

0

で、そのエラーについて何を調べてみたんですか?

評価

0

プログラムは、

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.*;

public class Panel extends Panel {

//ボタン
  public Button bt1,bt2;    

  pict = getImage(getDocumentBase(),"0.png");
  pic1 = getImage(getDocumentBase(),"1.png");
  pic2 = getImage(getDocumentBase(),"2.png");

  setBackground(new Color(220,220,120));

  g.drawImage(pict1,570,20,this);
  g.drawImage(pict2,640,20,this);   
  
 /** コンストラクタ */
 public Panel() {
  super();
        
  bt1 = new Button("change");
  bt2 = new Button("change");
        
  setLayout( null ); 

  bt1.setBounds( 570,36,25, 20);
  bt2.setBounds( 640,36,25, 20);

/******* ボタンの処理 **********/
  b1.addActionListener(newActionListener(){public void actionPerformed(ActionEvent e ){lg = 1;repaint();}});
  b2.addActionListener(newActionListener(){public void actionPerformed(ActionEvent e ){lg = 2;repaint();}});
  add(bt1); add(bt2); 
        

 if(lg == 0){}
  else if(lg == 1){g.drawImage(pic1,10,20,this);}
  else if(lg == 2){g.drawImage(pic2,10,20,this);}
    
    }   

    } 

評価

0

PanelについてとgetDocumentBaseについて、一応調べてみました。

評価

0

で?

評価

0

全然わかりませんでした。
なので、質問してます

評価

0

再度訊ねますが、エラーについては調べてみたんですか?

評価

0

<identifier>がありません 
クラス内のメソッドの外には通常のプログラムはかけません。できるのは変数の宣言とメソッドの宣言だけです。このエラーはメソッドの外に書いた場合に発生します。

ですよね?

評価

0

そうですね。
調べたのなら最初から書いてください。
それで調べた結果どうなりましたか?

評価

0

IDはなんとか解決しましたが、getDocumentBase()のシンボルが見つかりませんと結局、最初の質問になります

評価

0

IDなんてキーワード、初めて出てきましたよ。
それでは、mioさんに、また叱られちゃいますよwww

評価

0

IDって、identifierのことです・・・。

評価

0

情報を小出しにしても、あなた以外誰も状況が分かりません。

そちらが最初の質問に戻るというのなら、私は2006-12-25 12:03に戻る、ということになります。

評価

0

すいません。。。
つまり、
public class クラス名 extends JPanel{---------}
だと、Image Iconに入れて、Labelに画像表示させれるじゃないですか?

public class クラス名 extends Panel{---------}
になると、icon使えないので、void paint(Graphics g)
に入れて表示させようとしてるんですが、getDocumentBase()のシンボルが見つかりませんとエラーがでるんです。
それで、画像表示についていろいろと調べましたが、どうしてもわからないので、質問をしています。

評価

0

もし原因が、どうしても理解できないのであれば、
検索すれば、同様の処理を実行するサンプルはいくらでも見つかるはずですので、
動作するコードと、自分で書いて動作しないコードとの差を見て、何がいけないか確認しましょう。

ただ、今回の件が、それで解決したとしても、JAVAの文法の基本的な理解が足りないように見受けられますので、一度、体系的に基本を学ぶことを勧めます。

評価

0

2006-12-25 12:03に戻る、と書きましたが、読んでくれてますか?
それに、「いろいろと調べました」では読み手に何も伝わりません。

おそらく、根本的にはすでに書かれているように、SwingがどうというよりはJavaの基本的な部分でしょう。
ここでしっかり身につけておかないと、今後同じようなことが起きたとき、また読み手に分からない質問をしてしまうでしょう。
あきらめないで、頑張ってみてください。
こちらは別に、怒ったりしているわけではないです。

評価

0

mioさん、は 本当に gentle だねぇ。。。
taroさんも、それに甘えすぎずに、頑張ってくださいねwww (>_<)

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。