- PR -

メソッドの宣言 ”;” abstract宣言

1
投稿者投稿内容
miki3
常連さん
会議室デビュー日: 2001/09/23
投稿数: 25
投稿日時: 2001-09-27 22:17
JPanelTest8.java:73:メソッドの宣言が不正です。戻り値の型が必要です。
getContentPane1_5().addMouseListener(this);
getの gに印
JPanelTest8.java:73:";"がありません。
getContentPane1_5().addMouseListener(this);
()とaddの間の "."に印
JPanelTest8.java:71:JPanelTest8.Clickは abstractとして宣言する必要があります。
mouse Clicked(java.awt.event.MouseEvent)を
JPanelTest8.Clickで定義しません。
public class Click extends JFrame implements MouseListener
classの cに印
よろしくお願いします。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-09-28 00:20
はてさて、いろいろなエラーが出てますね。エラーだけだとちょっとわかりにくいですね。もし差し支えがなかったらソースも見せてもらえるといいのですが。(あっ、でも別にいいですよ。私が直すより、助言だけでなるべく自分で直せたほうが後々にもよいですから)

いくつか思ったことを書きますね。
1.JPanelTest.javaではJPanelを使ってますね?その場合、getContentPane()はいりません。JFrameとJPanelは違うんです。

JPanelに別のコンポーネントやリスナーをのせる場合
コード:
...
JPanel panel = new JPanel();   //JPanelオブジェクトの生成
JLable lable = new JLable("こんにちは"); //JLabelオブジェクトの生成
panel.add(label); //JLabelをJPanelにのせる
panel.addMouseListener(this); //JPanelにマウスリスナーをくつっける
...



JFrameに別のコンポーネントやリスナーをのせる場合
コード:
...
JFrame frame = new JFrame();   //JPanelオブジェクトの生成
JLable lable = new JLable("こんにちは"); //JLabelオブジェクトの生成
(frame.getContentPane()).add(label); //JLabelをJFrameのpaneにのせる
(frame.getContentPane()).addMouseListener(this); 
            //JFrameのpaneにマウスリスナーをくつっける
...


となります。説明はちょこっと面倒なので省きますが、API Documentにもかかれていますよ。

2.エラーから見るとJPanelTestクラス内にClickクラスを入れてますね?なぜですか?

3.もし、インターフェイスをimplementsする場合にはインターフェイス内のメソッドをすべて実装する必要があります。ですのでMouseListenerをimplementsする場合は、mouseClicked(),mousePressed(), mouseReleased(), mouseEntered(), mouseExited()全部を実装する必要があります。

もしここで説明してることがぴんと来なかったらすぐに聞いてください。コンセプトが理解できた方が上達も早くなりますよ。
1

スキルアップ/キャリアアップ(JOB@IT)