javaを勉強しようと思い、参考書付属CDROMからjdk1.3.1_01をインストールした
のですが、コマンドラインでのコンパイル、classファイルの実行は出来るのです
けどGUI(Frame)を作成する時にコンパイルが出来ません。
「setSizeメソッドがありません」というようなエラーが出ます。
ライブラリが無い、もしくはディレクトリ構成が違うのかと思い、sunのHPからいろいろ
調べたのですがファイル構成がとくに間違っている様子でもなさそうです。
使用しているユーザー環境のシェルプロファイルには以下の記述でパスを通しています。
export JAVA_HOME=/usr/java/jdk1.3.1_01
PATH=$PATH:$JAVA_HOME/bin
(redhat7.1にrpmからインストールしました。ディレクトリは/usr/java/jdk1.3.1_01/
です。インストール方法とパスの記述は参考書にあったものと同様にしました。)
GUIの作成に何か他に必要なものがあるのでしょうか。または各種設定等に問題が
あるのでしょうか。どなたか助言、御指摘いただければ、と思います。
ちなみにファイル構成の確認は下記のページを参照しました。
http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs …
No.3ベストアンサー
- 回答日時:
#2を書いたatonです。
見落としが一つありました。
同一ファイル内でAppFrameとFrameの2つのクラスを宣言してるんですね。
Javaでは原則一ファイル一クラスなので,これはペケです。
そもそもFrameクラスを作る意味がないので,ソースは以下のようであるべきだと思います。
<ソース ファイル名AppFrame.java>
//
// AppFrame.java -- フレームを作る
//
import javax.swing.*;
public class AppFrame extends JFrame {
public AppFrame() {
setSize(400, 300);
}
public static void main(String[] args) {
AppFrame frame = new AppFrame();
frame.show();
}
}
<ソース終り>
しかしもしpalopaloさんが#1に書かれたようなソースが参考書に載っていたのだとしたら,その参考書は捨てたほうがいいと思いますが…。
atonさん、ありがとうございます。このソースで早速試してみます。
また、urlを参考にさせていただきます。
moyuruさん、atonさん、ご回答いただき本当にありがとうございました。
No.2
- 回答日時:
Javaではpublicなclassの場合,ファイル名とクラス名が一致していなければまずいはず(参考URL)。
この場合ファイル名は AppFrame.java でないとコンパイルエラーが出ます。ちなみに,参考URLのおおもとのページ
http://www.gimlay.org/~javafaq/javafaq.html
はJavaの勉強を始める人に役立つ情報がたくさんあるので,下手な参考書より役に立つと思います。
参考URL:http://www.gimlay.org/~javafaq/S002.html#S002-04
No.1
- 回答日時:
>コマンドラインでのコンパイル、classファイルの実行はできるのですが
それでメソッドのエラーがでるのなら単純なコードのミスだと思います。せめてソースとエラーの内容くらい載せて下さい。
この回答への補足
ご回答ありがとうございます。
問題のソースとエラー内容を書きます。
<ソース ファイル名Frame.java>
//
// Frame.java -- フレームを作る
//
import javax.swing.*;
class AppFrame extends JFrame {
public AppFrame() {
setSize(400, 300);
}
}
public class Frame
{
public static void main(String[] args)
{
AppFrame frame = new AppFrame();
frame.show();
}
}
<ソース終り>
<エラー表示 "javac Frame.java"実行時>
Frame.java:8:error:Cannot find method "setSize(int, int)"
<エラー表示終り>
Frame.javaは、始め参考書を見ながら自分で書いてみたのですが、エラーになったため
参考書付属のCDROMにあるソースをjavacしてみたけど結果は同じでした。上記ソースが
参考書付属のものです。
自分なりに、
「エラーにsetSize(int, int)のmethodが見付からない。
javax.swing.*をimportとあるので恐らくこれがsetSizeを含むライブラリ?
setSizeが無いということは、javax.swingが無い、または正しい場所に無くて読めない。」
などと考え(java関連の書物等にswingを使ってGUIを作成する。云々。とあるのでこのように
考えました。)swingがどこにあるのか?などいくつか調べましたが、今一つ理解出来ない時に
質問のなかで書いたsunのurlにたどりつき、jdkのファイル構成は間違っていないことを知り、
それでは一体何?と訳がわからなくなったのではずかしながら熟練者の知恵をお借りしようと
思った次第です。
上記の私の考えかたを含め、どんなご意見でも結構です。ご指摘くださればと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
JAの支部?地域の農協のカード...
-
プログラミングの問題です。大...
-
eclipse実行ができない
-
問題作成のWebアプリの作り方を...
-
正規表現について質問です。 カ...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
jdk17.06のインストーラーが起...
-
自作Androidアプリのデータ引き...
-
Processingでマウスクリックで...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
-
Eclipse 動的プロジェクトで404...
-
改行含むテキストの表示の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
マイクラでPythonのプログラミ...
-
配列にnullを代入すると、null...
-
jdk17.06のインストーラーが起...
-
Eclipse 動的プロジェクトで404...
-
list の空は [] ってあわらすのに
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
正規表現について質問です。 カ...
-
eclipseで作ったプログラムを他...
-
改行含むテキストの表示の仕方
-
リレーションエンティティクラ...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
キー入力について
-
自作Androidアプリのデータ引き...
-
問題作成のWebアプリの作り方を...
-
eclipse実行ができない
-
変数名とDBカラム名の関係性に...
-
デバッグツールの具体例を教え...
おすすめ情報