Java入門 GUIプログラムのコンパイル時の警告について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
Java初心者入門講座GUIプログラミングstep14で、
PrefTestファイルをコンパイルすると「注意」がでます。

-Xlint:uncheckedオプションでコンパイルしたところ、

prefDisplayメソッドのlt.setListData(listData.toArray());に関し、
「raw型JListのメンバーとしてのsetListData(E[])への無検査呼び出しです」
と表示されました。

Javaのバージョンはjdk1.8.0_92です。

自分なりに、ネットで調べてはみたのですが、初心者の悲しさで、解決法が見つかりません。

このサイトの「よくある質問」にもないようです。
お忙しい中かとおもいますが、ご指導、よろしくお願いします。


【回答】
バージョンによっては、古いクラスの場合、
コンパイル時に警告メッセージが出ることがあります。

でもプログラミングしたファイルをコンパイルしてみてファイルが作成される場合は、
そのまま実行が可能なこともあるので、試してみてください。

【補足】
その後、読者様よりメールをいただきました。

ご回答 ありがとうございます。
コンパイルはできていましたので、
このまま、学習を続けます。

新しいクラスができ、便利になるのはありがたいことですが、
古いクラスが使えなくなることもある、そういう点にも注意が必要なんですね。

ありがとうございました。

EclipseでJarファイルを作成すると、MySQLのデータベースが読み込めない件について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
EclipseでSampleDb400プロジェクトのJarファイルを作成し、実行しても都道府県のデータが表示されません。

フレームワーク・パネル・ボタン等は問題なく表示します。エラー表示はまったくありません。

Jarファイルの保存場所は、SampleDb400以外です。

Jdk、Jre、Path、ODBC等も講座のとおり設定しました。Mysqlもコマンドラインからすべて実行表示されますので、問題ないと思います。

またJarファイルを実行する前には、管理ツール中からMYSQLのサービス開始を設定し、起動させてあります。

Eclipseの中から実行すると、問題なくMysqlの都道府県データは表示されます。

しかしEclipseからMYSQL(sampledb040)を読み込み作成したJarファイルから実行すると、データ(都道府県)のみが表示されません。

恐縮ですが、御教示のほどをよろしくお願い致します。

【回答】
Eclipseからは問題なく実行できているとのことなので、プログラム的には、問題ありません。

また当講座と同じ手順で、MySQLを設定していれば、データベース名、テーブル名、ユーザー名、パスワードなども大丈夫だと思います。

でも当講座で紹介したJARファイルの作成方法は、データベースにAccessを使った例です。

MySQL版のJARファイルは、講座では作成していません。

実は、データベースにMySQLを使う場合は、少し手順が異なります。

MySQLだと正常に表示できないのは、あなたが作成したJARファイルにJDBCドライバーの「mysql-connector-java-5.1.5-bin.jar」が含まれていないからです。

*バージョンによってファイル名は変わります。

ここで重要なポイントですが、「JARファイルにJARファイルを含める」のは、手順がちょっと面倒です。

以下のサイトが参考になります。
http://www.fk.urban.ne.jp/home/kishida/kouza/old/javajar.html


その後、読者様から、以下のメールが届き、無事に解決できたようです。

---
ご指導のとおり、JDBCドライバー「mysql-connector-java-5.1.8-bin.jar」の保存を次の場所に変えてみました。(JREは公開の方です)


c:\jre\lib\ext\mysql-connector-java-5.1.8-bin.jar

(今までは c:\eclipse\workspace\ に保存していた)

実行の結果、正常に表示し、完成いたしました。
---

*「\」はWindowsでは円記号のことです。

【補足】
(1)jreの場所について
パソコン内に「jre」が複数インストールされている場合があるので、ご注意ください。

*フォルダ名で検索してみると、すぐに分かります。

「\lib\ext」は、自動的に参照されるので、もしこのフォルダにJDBCドライバーを配置する場合は、パスは関係ありません。

しかし通常のフォルダに配置する場合は、パスが関係します。

「\lib\ext」の場所がパソコンによって異なる可能性があるので、あなたが作ったJavaのソフトウェアを、JARファイルで他の人に配布する場合は、注意が必要です。

自分自身だけで使うなら、「\lib\ext」で問題ありませんが。


(2)それでも動かない場合
違う場所の「\lib\ext」に配置している可能性があります。フォルダ名で検索してみて、複数ある場合は、それぞれにJDBCドライバーを配置してみてください。

また「Windowsのファイアウォール」や「ウィルスセキュリティソフト」などで、MySQLやJARファイルのプログラムがブロックされていないか、ご確認ください。

Javaでjarファイルの作成は出来るが、実行できない件について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
コマンドプロントで jar を実行する時に、
「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というメッセージが出ます。

"j2se、jre1.5.0_07、jre1.6.0_01、jre1.6.0_02、jre1.6.0_03、jre1.6.0_07、jre6"というファイルはインストールされているのですが、やはりJDK(Java Development Kit)をインストールしてやらないと駄目なのでしょうか。

JDK(Java Development Kit)をインストールするとすれば、どのVerのJDKをインストールしてやるのでしょうか。

"j2se"、"jre1.6.0_07"、"jre6"というファイルは、一体どのように違うのでしょうか。

また、このように同じようなファイルが、何種類もインストールされていても問題いはないのでしょうか。

宜しくお願いします。

【回答】
メールアドレスが間違っているようで、返信できないため、この Q&A に掲載しておきます。読んでいただけるといいのですが。

確認ですが、jarファイルを作成する前のステップまでは、正常に動作していたのでしょうか?

動作しないプログラムをjarファイルにしても、もちろん動きません。

当講座は、ステップ順に進めて頂くことが前提になっています。途中で抜かしているステップがあると、上手く動かないことがあります。

その場合は、ステップを戻って、もう一度確認してみてください。

また、ちょっと気になるのは、Pathの設定です。

JDKは、最新版をインストールしてください。

でも、jarファイルは作成できたようなので、JDKはインストール済みだと思います。

JDKには、開発用のプログラムと、実行用(jre)のプログラムが含まれています。

Javaのプログラムを実行するだけなら、jreがあれば可能ですが、開発するにはJDKが必要です。

J2SEは、Java 2 Platform Standard Edition のことで、バージョン5.0までの呼び方です。

"jre1.6.0_07"と"jre6"の違いは、プログラムの内部的なバージョンと、一般に公開する時のバージョンの表し方なので、気にしないでください。

jreは複数インストールできますが、特に理由がなければ、一つにまとめたほうが良いと思います。

通常、Javaのプログラムを実行する時は、Windowsのコントロールパネルにある「Java」に登録されているjreが使用されます。

このjreが古いと、プログラムが動かないことがあります。

その場合は、アップデートしてください。コントロールパネルから可能です。

ちなみに、「Java初心者入門講座」の後半に出てきますが、Eclipseのような統合開発環境を使う場合は、どのパージョンのjreを利用するか、指定することもできます。

Java Eclipseに VisualEditorを組み込む方法について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
Java初心者入門講座をありがたく進めている者です。

「Java EclipseでVisualEditorを使いGUIアプリを作成する。」のStepで、
Java → Swing → JFrame Visual Class の選択が出てきません。

VisualEditor をどのように組み込めば、よろしいでしょうか?
組み込んでいる講義をお教え願えれば幸いです。
よろしくお願いします。

【回答】
メールアドレスが間違っているようで、返信できないため、この Q&A に掲載しておきます。運良く読んでいただけるといいのですが・・・

VisualEditor は Step1 で組み込まないと使えません。
Step1・Eclipse をセットアップする

または、サードパーティ製の Pleiades を使う方法もあります。

Pleiades は、最初から Eclipse が日本語化済みです。しかも便利なパッケージが、あらかじめ多く組み込まれています。

そのため Pleiades の場合は、特に何もすることなく、Eclipse で VisualEditor がすぐに使えます。

ただ、Eclipse 本家の日本語化プラグインと、日本語の訳が若干異なる部分もあるので、そのへんは適宜読み替えてください。

もし使う場合は、「Pleiades All in One」 というものをダウンロードしてください。

Java サンプルデータベースが開けない場合について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
サンプルデータベースの「SampleDB030.mdb」をダウンロードしたのですが、ファイルを開くことができません。使っている Access のバージョンは2007です。

ダウンロードしたファイルを開こうとすると、インターネットに接続しようとします。どのようにすればよいのでしょうか?

【回答】
当講座で使用しているサンプルデータベースの「SampleDB030.mdb」は、Access2000形式で保存されています。

したがってダウンロードした mdbファイルを開くには、 お使いのパソコンに Access2000 以上がインストールされている必要があります。2007で開けないのは、バージョンの影響があるのかもしれません。(手元に無いので確認できません)

もし Access が無くても、Javaのプログラムから mdbファイルを操作することは可能なので、プログラミングの学習に支障はありません。

どうしてもAccessの中身を確認したい場合は、OpenOffice.org Base という、無償で入手できるデータベースソフトウェアを使って、Accessのデータを見る方法があります。

BaseからAccessのデータベースに接続する方法。

また Accessは 2003 か XP あたりからライセンスが強化されています。

1ユーザーライセンスのAccessを、2台以上のパソコンにインストールすると、インストール直後から3回目までは起動できるのですが、4回目以降はユーザー登録しないと起動できないようです。

職場や学校で、パソコンを使用している場合は、気付かないうちに、同じライセンスのソフトウェアを、複数のパソコンにインストールしていることがあります。

Accessが動かない時は、周りの人に確認してみたほうが良いでしょう。

その点、 Base は、無償で自由に使えるため、とても便利です。Base は OpenOffice.org に含まれています。

入手方法など詳しくは OpenOffice.org 初心者入門講座 をご覧ください。

Java 環境変数の設定を間違えて消してしまった場合について。

【講座名】
Java初心者入門講座 に関する質問

【質問】
環境変数のPATHを設定する際に、付け加えるのではなく、誤ってもともと設定してあった文字を消してしまいました。何が元々設定されていたかは覚えていません。

今のところ動作に問題はありませんが、やはりもともと設定されていた環境変数が消えてしまうとまずいのでしょうか?戻し方があれば教えてください。

【回答】
環境変数の Path を消すと動かないソフトウェアがあります。

環境変数の Path は、これまでパソコンにどんなソフトウェアをインストールしてきたかによって、まったく違ってきます。

環境変数を手動で設定しなくても、ソフトウェアをインストールする時に、自動的に設定されることもあります。

したがって「こういうふうに設定してください」と言うことができません。私のパソコンの環境変数とは一緒ではないからです。

そこで、パソコンの動作に問題が無いようでしたら、しばらくは様子をみてください。

そのうちに環境変数が必要なソフトウェアは動作しなくなります。

影響が出た時に、環境変数の設定の仕方がわかっているソフトウェアは、手動で設定すれば動くようになります。

環境変数の設定がわからない場合は、該当するソフトウェアを再インストールしてください。これで動くようになるはずです。

*データをバックアップできるものはバックアップしてから

環境変数の設定が必要で、しかも頻繁に使うソフトウェアでなければ、すぐに影響は感じないかもしれません。影響が出ずに済む場合もあります。


Java コマンドプロントで javac が実行できない。

【講座名】
Java初心者入門講座

【質問】
コマンドプロントで javac を実行する時に、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というメッセージが出るのですが、どうしたらよいのですか?

【回答】
コマンドプロンプトから javac を実行するには、「javac.exe」が動作するようにしなければなりません。

・JDK(Java Development Kit)をインストールする
・javac.exeがある場所にパスを通す

(1)まずは javac.exe というファイルを探してください。講座の手順でJDKをインストールした場合は以下の場所にあるはずです。

*「\」はWindowsではエンマークのことです。

C:\jdk\bin
qa-03.gif

javac.exe が見つからない場合は、JDKがインストールされていないか、JDKをインストールした場所が違うかもしれません。以下のページを参考にインストールしてください。

JDKをインストールした場所が違う場合は、文章を読み替えるか、一度JDKを削除して講座の手順で再度インストールしてください。なるべく講座の手順で進めることをおすすめします。

Step1・Java 開発・実行環境をダウンロード
http://sunjava.seesaa.net/category/3474935-1.html

Step2・JDK と JRE をインストール
http://sunjava.seesaa.net/category/3496255-1.html


(2)javac.exeが見つかったら以下の方法でパスを通します。

Step5・Java 環境変数のPathを設定
http://sunjava.seesaa.net/category/3498255-1.html


これでコマンドプロンプトから javac を実行できるようになります。パスを通せばどのディレクトリからでも実行できるはずです。

Java 実行可能なJARファイルが動かない

【講座名】
Java初心者入門講座

【質問】
GUIプログラミングの「Step19・実行可能なJARファイルの作成」のところで、PrefTest.jarを作ったのですが、エラーが出て開けません。

エラー内容
Failed to load Main-Class manifest attribute from C:\java\sample219\PrefTest.jar


【回答】
Manifestファイルは最初に実行時するメインメソッドのあるクラス名を指定しているだけです。

(1)Manifestファイルに指定したクラス名と、実際のクラス名が完全に一致するか確認してください。

*大文字小文字を含めて完全に一致しているかどうか

ファイル名 Manifest.txt
Manifest-Version: 1.0
Main-Class: PrefTest ←この部分と実際のクラス名


(2)Manifestファイルとclassファイルが同じ場所に配置されているか確認してください。

qa-02.gif


(3)PrefTestの後に改行を入れてください。改行までを1行とみています。

Manifest.txtをTeraPadで開いた図
qa-01.gif


スポンサードリンク


スポンサードリンク






プログラミング入門 Q&A TOPへ