PantherでのJava動作について

スレちがいかもしれませんが・・・
最近Javaでプログラミングの勉強をしようと思い,OSX10.1の頃に書かれた本を読みながら一人でキーボードを叩いています.
で,質問なのですが,
>>>public class TestJava extends Frame implements MouseListener
と記述してコンパイルをすると,
>TestJava.java:6: TestJava は abstract として宣言する必要があります。mousePressed(java.awt.event.MouseEvent) を TestJavaApplication で定義しません。
とProjectBuilderに言われてしまいます.
ちなみに,MouseListenerだけでなく,WindowListenerでも言われます.
10.1の時と違うのでしょうか,それとも私のマシンに原因があるのでしょうか.
Javaは1.4.2です.

投稿日 2004/03/10 02:54

返信: 5

2004/03/11 16:57 Community User への返信

10.3だと、Project Builderではなく、Xcodeですよね? それはさておいていて、Xcodeは使っていないので、よくわからないのですが、とりあえずエディターでできるだけ簡単なサンプルソースを書いてみて、ターミナルからjavacして確認してみる。
それで動くようなら、javaやマシン構成の問題でなくXcode上でのJava作成の仕方の問題でしょう(今お読みになっている本と現在のXcodeではjavaソフトの書き方が違う)。
例えば以下のファイルを、TestFrame.javaで保存。
ターミナルから、
javac TestFrame.java
としてclassファイルができたのを確認して、
java TestFrame
これで動くかどうか? ですね。
import java.awt.*;
import java.awt.event.*;
public class TestFrame extends Frame implements MouseListener{
public static void main(String argv[]){
TestFrame myframe = new TestFrame();
myframe.setSize(500,300);
myframe.setVisible(true);
}
int x,y;

public void mouseClicked(MouseEvent e){
Graphics g = getGraphics();
x = e.getX();
y = e.getY();

g.drawOval(x,y,40,40);
g.dispose();
}

public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}

TestFrame(){
addMouseListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
もちろん、うちの環境(10.3.2+java1.4.2)では動きます。漢字コードはShift-JIS、改行コードは普通にCRでいいと思います。

2004/03/14 06:01 Community User への返信

Ryutaro様,お返事頂きましてありがとうございます.また,レス遅くなってすいません.
質問の事なのですが,使用しないMouseEventを記述し忘れていたという単純ミスでした.本当におバカで申し訳ありません.
ついでにもう一つお伺いしたいのですが.
>Xcodeですよね?
私のマシンは,DeveloperToolsをインストールした10.2.8にPantherを上書きインストしたものです.
XcodeってPantherインストディスクの何枚目かに入っているのですか?
Xcodeって私のようなド素人にとって,ProjectBuilderより扱いやすいですか?
Appleのサイトを見てもよく分かりません.
お時間のある時で構いません.よろしければお答えいただけないでしょうか.

2004/03/14 11:22 Community User への返信

>XcodeってPantherインストディスクの何枚目かに入っているのですか?
Mac OS X Xcode toolsと書かれた白っぽいディスクに入っています。
ProjectBuilderの新バージョンを名称を変更してリリースしたようなものですので、使い勝手は似ています。なお、旧ProjectBuilderはMac OS X 10.3での動作を保証されていません。

2004/03/14 17:36 Community User への返信

Ryutaroです。
野尻さんの書かれている通りですね。
どちらが使いやすいかは、前述した通り私は、Xcodeはインストールしているだけであまり触っていないのでよくわかりません。
ただ、Projectuilderは、10.3では動作保証がされていないので不安ではあります。
みた感じでは画面構成などは似ていますし、新機能などは最初のうちは使わないと割り切ればやはり移行した方がいいかもしれません。
あまり返事になっていませんが。

2004/03/15 06:54 Community User への返信

野尻隆裕様,Ryutaro様,ありがとうございます.
DeveloperToolsを消さずにインストしたのですが,HDの残量がやばいので,一度全部消して,入れ直しました.
インターフェイスはちょっと違うけど,超初心者の私にはこれで十分なのかなと.ただ,コンパイル(ビルド)エラーの時,ProjectBuilderはちゃんとエラー内容を表示するウインドウがあるのに対し,Xcodeは手作業でウインドウを開かなくちゃいけないのが面倒です.
また機会がありましたら,いろいろ教えてください.

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

PantherでのJava動作について

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。