Windows101(64ビット版)が入っているパソコンに日本語化されたEclipse2をインストールしてJavaアプレット3を動かします。
1. 要点
-
Java開発キット(Java Development Kit;JDK)と日本語化された統合開発環境Eclipse(自動初期設定機能付き)を1つにまとめたものが「Pleiades All in One Eclipse」という名前で配布されています。
-
Pleiades All in One Eclipseは圧縮ファイル(ZIP)で配布されていますが、Windows 10標準のファイル解凍機能は長いパス名を扱えない欠陥がありますので、正常に解凍できません。長いパス名に対応している7-Zipなどの解凍ソフトが必要となります。
-
解凍したフォルダの
pleiades\eclipse\eclipse.exe
4を実行すると、初めての場合は初期設定が自動で行われます。必要に応じてエディタの設定を行ったり、eclipse.exe
へのショートカットを作成したりするとよいでしょう。 -
Javaアプレットを使用するには、Java実行環境(Java Runtime Environment;JRE)のバージョンをJava1.8(Java 8と同義)に変更しておきます。
2. 7-Zipのインストール
7-Zipをインストールします5。たとえば窓の杜のここからダウンロードすることができます。
ダウンロードされたインストーラー(ここでは7z1900-x64.exe
)を実行します6。「Install」をクリックするとインストールされます。
インストールに成功したら「Close」をクリックしてウィンドウを閉じましょう。
7-Zipの日本語化
7-Zipをインストールするとエクスプローラーの右クリックメニューに「7-Zip」という項目が追加されますが、もしサブメニューの中身が日本語になっていなければ次の手順で日本語化できます。まず7-Zipをスタートメニューから起動します。
7-Zipが起動したらメニューの「Tool」から「Options...」を選びます。
「Language」タブで「Japanese (日本語)」を選び、「OK」をクリックします。
いったんログオフして再度ログインすると7、エクスプローラーの右クリックメニューに設定が反映されているはずです。
3. Pleiades All in One Eclipseのインストール
配布サイトからPleiades All in One Eclipseをダウンロードします。2021年9月現在、「Eclipse 2021(最新版)」をクリックすると「リリース 2021-09」のページへとジャンプします。
Windows 64bit、Full Edition、Javaを選びます。「Download」をクリックすると、Zip形式の圧縮ファイルのダウンロードが始まります。ファイルサイズが約1.9GBと大きいので注意してください。時間があるときに気長にダウンロードしてみましょう。
自動的にダウンロードが始まらない場合は、自分でリンクをクリックしてダウンロードを開始してください。
ファイルがダウンロードされたフォルダを開き8、そのファイルを右クリックして「7-Zip」で展開します9。ここでは「展開...」(日本語化してない場合は「Extract files...」)を選びます10。くれぐれもWindows標準の解凍機能を使わないようにしてください。
続けて現れるダイアログボックスで、展開先をCドライブ直下(C:\)とし11 12、その下のチェックを外します。「OK」をクリックすると展開が始まります。
展開が終わったら、C:\pleiades\eclipse\eclipse.exe
を探します。これがEclipseの実行ファイルです。実行してみましょう。初回は自動的に初期設定が行われるので、起動に少し時間がかかります。
しばらくすると「ワークスペース13」を選択するダイアログボックスが表示されます。まずはデフォルトのワークスペースを使うことにして「起動」してしまって構わないでしょう。
おめでとうございます。ひとまずEclipseが起動しました。
Eclipseのショートカットを作る
毎回eclipse.exe
を探して実行するのは面倒なので、デスクトップなどにショートカットを作っておくとよいでしょう。eclipse.exe
を右クリックして「コピー」を選び、
そのあと、デスクトップなどを右クリックして「ショートカットの貼り付け」を選ぶと、
Eclipseのショートカットにワークスペースを指定する
ショートカットのプロパティを編集することで、そのショートカットから起動したときに使用するワークスペースを指定することができます。
ショートカットのリンク先がC:\pleiades\eclipse\eclipse.exe
になっていると思いますが、この後に半角スペースを入れ、続けて -data "ワークスペースにしたいフォルダ名"
を追加します。たとえば、デスクトップの中の私用
というフォルダの中にwork
というフォルダを作ってそれをワークスペースにするのであれば以下のように14リンク先を編集して「OK」をクリックします。
C:\pleiades\eclipse\eclipse.exe -data "%USERPROFILE%\Desktop\私用\work"
次にこのショートカットを使ってEclipseを起動したときには、指定された通りのフォルダをワークスペースとして使用することになります15。
異なるワークスペースを指定した複数のショートカットを作っておいて、起動時にワークスペースを使い分けることも可能です。
Eclipseの設定
Pleiades All in One Eclipseでは、かなり良い感じに初期設定をしてくれるのですが、追加で設定を行います。上部メニューから「ウィンドウ」-「設定」を選びます。
設定ダイアログが開いたら「Java」-「エディター」-「保存アクション」と辿って「ソース・コードのフォーマット」と「追加アクション」にチェックをしておくと(通常は)幸せになれます16。「適用して閉じる」をクリックしておきましょう。
4. Eclipseを使う
アプリケーションを作る
初期状態では、画面左の「プロジェクト・エクスプローラー」に「ワークスペースにプロジェクト17がありません」と表示されています。なので、ここではまず「Javaプロジェクト」を作成してみましょう。
画面に見えている「Javaプロジェクトの作成」ボタンをクリックしても、上部メニューから「ファイル」-「新規」-「Javaプロジェクト」と辿っても構いません。
「新規Javaプロジェクト」ダイアログが表示されます。ここでは例としてプロジェクト名をtest
とします。また、使用するJREをJavaSE-1.8に変更します。あとで、このプロジェクト内でアプレットを使いたいからです。このJREの選択を忘れるとアプレットが動きません18。
Java言語でプログラムを構成する単位となるのはクラスというものです。1つのJavaプロジェクト内には、複数のクラスを作ることができます。test
プロジェクト内にTest1
というクラスを作ってみましょう。上部メニューから「ファイル」-「新規」-「クラス」と辿ります。プロジェクト・エクスプローラー内を右クリックして同様のメニューを使っても構いません。
「新規Javaクラス」ダイアログでクラスの名前をTest1
にし、public static void main(String[] args)
というメソッド・スタブにチェックを入れて19、「完了」をクリックします。
パッケージ20名として(プロジェクト名test
から類推された)test
がデフォルトで入力されていますが、あまり気にしなくてもよいです。
プロジェクト内にTest1.java
というファイルが作成され、その内容が右側のエディターに表示されます。7行目にHello worldと出力する命令を書いてみます。
package test;
public class Test1 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
System.out.println("Hello world");
}
}
上部メニューから「実行」-「(4つ目の)実行」-「Javaアプリケーション」を選んで実行してみましょう(2回目からは「実行」-「(1番上の)実行」、あるいはCtrl+F11
を押してもよい)。
画面右下の「コンソール」に「Hello world」と出力されたら成功です。
アプレットを作る
今度はtest
プロジェクト内にアプレットを作ってみます。JREがJavaSE-1.8に変更されていないと動きません。次のように新規クラスを作ります。例として、クラス名はTestApplet1
とします。スーパークラスにjava.applet.Applet
を指定します(大文字と小文字の区別に注意)。
プロジェクト内にTestApplet1.java
というファイルが作成されます。これは(何もしない)立派なアプレットです。
真っ白な(何もない)ウィンドウが表示されたら成功です。
気が済んだら「×」を押して閉じましょう。
アプレットのデフォルトの幅と高さ
アプレット実行時のデフォルトのサイズを変えたいときは、「実行」-「実行構成...」のダイアログを開き、「パラメーター」のタブにある「幅」と「高さ」の値を変更します。
アプレットのgetCodeBase()
とgetDocumentBase()
アプレットのメソッドのgetCodeBase()
、getDocumentBase()
で参照される場所は、「実行構成」の中の「引数」の「作業ディレクトリ」です。デフォルトはプロジェクトのフォルダーの中のbin
フォルダーです。
もし分かりにくければ、アプレット中で、実際にどこが参照されているかコンソールに書き出してみればよいでしょう。
package test;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class ImageTest1Applet extends Applet {
Image img;
@Override
public void init() {
// どこが参照されているか書き出す。
System.out.println(getCodeBase());
System.out.println(getDocumentBase());
img = getImage(getDocumentBase(), "Sample.jpg");
}
@Override
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
}
アプレットでアニメーションさせるとチラつく
とりあえず、次のようにupdate
メソッドをオーバーライドしておけば、(アニメーションでチラつくことは)なくなります21。
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
private Image offscreen = null;
@Override
public void update(Graphics g) {
Dimension size = getSize();
if (offscreen == null || offscreen.getWidth(this) != size.width || offscreen.getHeight(this) != size.height) {
offscreen = createImage(size.width, size.height);
}
Graphics gg = offscreen.getGraphics();
try {
super.update(gg);
g.drawImage(offscreen, 0, 0, this);
} finally {
gg.dispose();
}
}
TODO (執筆するかも)
- ファイルのリダイレクト ⇒ 「実行」-「実行構成...」から「共通」の中の「標準入出力」で設定
- データファイルを置くフォルダ
- Java 1.8(pleiades\java\8\bin\javaw.exe)の高DPI設定
- macOS
-
Windows 10には「Home」と「Pro」がありますが、どちらでも構いません。Windows 11でも大丈夫そうです。 ↩
-
Eclipseはいわゆる統合開発環境というものの1つです。メモ帳とコマンドプロンプトとJDKさえあれば、それらを使ってJavaプログラムを作成・実行することは可能ですが、非常に面倒なので人は統合開発環境を使うのです。 ↩
-
Javaアプレットとは、90年代後半に流行った、動的なWebコンテンツを作成する技術の1つです。Flashの台頭やその後のAjaxの隆盛とともに駆逐され、完全に見捨てられてしまった技術ですが、教育用には細々と使われていたりします。(動作する最小の「おまじない」サイズも小さく(
java.applet.Applet
から継承したクラスを作るだけ)、初めての方に説明するときは、なんやかんやで便利です。もしアプレットの代わりにSwingを使うとしたらこれみたいな「おまじない」になるでしょうが、この意味となぜ必要かを理解するにはちょっと時間が掛かるかも。) ↩ -
半角バックスラッシュ
\
は、日本語だと半角円記号¥
みたいに表示されたりします。(ASCIIの範囲では)同じものです。日本語キーボードから入力するときはEnterキーの左上の「¥」キーを使ってください。Enterキーの左下の方にある「\」キーを使って入力してもよいですが、同じく半角円記号¥
が表示されると思います。 ↩ -
長いパス名が扱えるのなら7-Zip以外のソフトを使って配布ファイルを解凍しても構わないのですが、この記事では7-Zipを使って解凍方法の説明をしています。 ↩
-
ブラウザーから「開く」ことができない場合、インストーラーは(自分でダウンロードするフォルダを指定してなければ)おそらく「ダウンロード」というフォルダに保存されていますので、それを探して開きましょう。 ↩
-
要はエクスプローラーを再起動する必要があります。タスクマネージャーから再起動するだけでもよいです。 ↩
-
ブラウザーから「開く」を選んでしまうと、Windows標準の解凍機能を使ってしまって正常に解凍できないという現象が起こります。ダウンロードされたファイルはおそらく「ダウンロード」フォルダに保存されています。あせらず「ダウンロード」フォルダを開いて作業してください。 ↩
-
Windows 11だと、デフォルトでは右クリックしても「7-Zip」うんぬんは見当たりませんが、「その他のオプションを表示」をクリックするとちゃんと出てきます。 ↩
-
もう一度書いておきますが、半角バックスラッシュ
\
は半角円記号¥
の意味です。日本語キーボードであればEnterキーの左上の「¥」で入力してください。 ↩ -
理由は2つ。1つは、長いパスに対応していないアプリケーションの誤動作をできる限り防ぐため。もう1つは、展開パスを統一しておいた方があとの説明が楽だからです。さまざまなEclipseのバージョンを同時に運用する可能性があるときは、
C:\pleiades\2021-09\eclipse\
のようなフォルダ構成で解凍してもよいかもしれません。 ↩ -
ワークスペースとは、Eclipseの用語で、作ったプログラムやデータや様々な設定など、なんやかんやを保存しておく作業フォルダのことです。Eclipseを起動するときに1つ選ぶ必要があります。 ↩
-
%USERPROFILE%
というのは、Windowsにおいてそれぞれのアカウントのユーザーフォルダになります。なので、%USERPROFILE%\Desktop
はそのアカウントのデスクトップフォルダというわけです。 ↩ -
ワークスペースに指定したフォルダが存在しなければ、勝手に作成されます。 ↩
-
独自のコーディング規約に従っているプロジェクトのファイルを編集するときは、この設定をオフにしないと地獄を見ます。地獄への道はIDEの善意で実装されている。 ↩
-
プロジェクトとは、Eclipseの用語で、プログラムやデータなどをひとまとめにして管理する単位となります。つまり普通の日本語の意味での「プロジェクト」と思ってよいでしょう。 ↩
-
アプレットを使わないプロジェクトであれば、そのまま最新のJREを使ってもらって構いません。 ↩
-
チェックを入れておくと、ファイル生成時に
main
メソッドを付け足しておいてくれます。もちろん、あとで自分で書いても構いません。 ↩ -
パッケージとは、Java言語の用語で、クラスが属する名前空間を提供するものです。平たく言うと、クラスの「苗字」みたいなものです。クラス名が同じでも、パッケージ名によって区別をつけることができます。 ↩
-
リサイズはチラつきます。本当は
javax.swing.JComponent
での実装のように、update
はpaint
を呼ぶだけにして、paint
の中にダブルバッファリングのコードを書くべき。で、実際に描画するコードはpaintComponent
みたいな別の名前のメソッドに書いておいて、それをpaint
から呼んで、...ってもうそれjavax.swing.JApplet
使えばよくない? ↩