2022年2月22日火曜日

FFT (Fast Fourier Transform)

しばらく前に書いたFFTのメモ 

https://drive.google.com/file/d/1-FL5GDuzedEPinnvTrAbZx5VT4-JaVQG/view?usp=sharing

Eclipse (pleiades 2021-12)+JavaFX入りJDK (bellsoft Liberica JDK17) のセットアップ (Windows 10用,基本的にmacOSでも一緒)

 EclipseでJavaを使う場合,pleiadesをインストールすると日本語化されていて簡単ですが,一時期Javaに入っていたJavaFXを使おうとすると面倒です.幸いなことに,JavaFXを組み込んだJDKがいくつか提供されています.今回はbellsoftから提供されているLiberica JDK17をEclipseに組み込みます.

Eclipseのダウンロード

まず,Eclipseをダウンロードします.https://mergedoc.osdn.jp/ にアクセスしてください.


一番左上の「Eclipse 2021」をクリックします.


Javaの列にあるWindows 64bitのFull Editionの行にある「Download」をクリックします.


真ん中あたりにあるリンクをクリックするとダウンロードが始まります.ここでは「ダウンロード」フォルダの中にフォルダ「Eclipse+JDK2021_12」を作成し,このフォルダの中にダウンロードします.

bellsoft Liberica JDKのダウンロード

Eclipseのダウンロードにはかなり時間がかかるので,この間にJDKをダウンロードします.https://bell-sw.com/pages/downloads/ にアクセスしてください.以下のような画面が表示されます.


青緑色の「Download now」ボタンをクリックします.


ダウンロードするJDKを選択する画面が表示されます.下の図のように,一番上で「JDK 17」を選択し,「Windows」の「Package」で「Full SDK」を選択した後で「Download ZIP」をクリックします.これも先ほどと同じくダウンロード」フォルダの中のフォルダ「Eclipse+JDK2021_12」の中にダウンロードします.


7zipのダウンロード

次に,Eclipseのzipファイルを解凍するために7zipをインストールします.https://sevenzip.osdn.jp/ にアクセスすると以下のような画面が表示されます.


一番上の「64ビット x64」の行の「ダウンロード」をクリックして,同じフォルダの中にダウンロードします.

ダウンロードが終了すると,フォルダ「Eclipse+JDK2021_12」の中は以下のように3つのファイルがあります.


7zipのインストール

まず7zipをインストールします.一番上のexeファイルをダブルクリックしてこのファイルを実行してください.次のようなダイアログが表示されます.


「Install」ボタンをクリックするとファイルがインストールされて,次のようなダイアログの表示になります.


「Close」ボタンをクリックすると,7zipのインストールは終了です.

EclipseとJDKの解凍

7zipを使ってEclipseとJDKを解凍します.一番下の「pleiades.....zip」のファイル名の上で右クリックし,メニューから「7-Zip」→「ここに展開」を選択すると,次のようなダイアログが表示されてファイルがこのフォルダに展開されます.


同様に,ファイル「bellsoft-jdk.....zip」のファイル名の上で右クリックし,同様にzipファイルを解凍します.以下のように,このフォルダの中に2つのフォルダができます.


Eclipseのフォルダの中にJDKを移動する

フォルダ「jdk-17.0.2-full」を右クリックして「切り取り」を選択した後で,フォルダ「pleiades」→「java」の中に移動します.ファイル名にかからないように空白の上で右クリックして「貼り付け」を選択すると,ここにフォルダ「jdk-17.0.2-full」が移動します.


pleiadesをC:ドライブのルートディレクトリに移動してフォルダ名を変更する

ダウンロードしたフォルダに戻ります.フォルダ「pleiades」を右クリックして「切り取り」を選択し,左のナビゲーションウィンドウで「PC」をクリックした後,右のフォルダ一覧で「Windows (C:)」をクリックしてC:ドライブのルートディレクトリに移動します.ここでフォルダ名にかからないように空白の上で右クリックしてメニューで「貼り付け」を選択すると,ここにフォルダ「pleiades」が移動します.


このフォルダ名を変更しておきます.右クリックしてメニューから「名前の変更」を選択し,フォルダ名を「pleiades-2021-12」に変更します.


Eclipseの起動

フォルダ「pleiades-2021-12」→「eclipse」→「eclipse.exe」をダブルクリックして起動します.


起動にはしばらく時間がかかります.


workspaceを選択するダイアログが開きますので,そのまま「起動」ボタンをクリックします.


すると,Eclipseが起動します.


このときフォルダ「pleiades-2021-12」の中にフォルダ「workspace」ができて,作成したプロジェクトやファイルは全てこの中に入ります.


Eclipseの画面の色を変更

この状態ではEclipseの画面は黒い「ダーク」なので,これを白い「ライト」に変更します.「ウィンドウ」メニュー→「設定」を選択すると,以下のようなダイアログが開きます.


左のメニューで「一般」を開いて「外観」を選択します.


ここで「ルック&フィール」の「ダーク」をクリックして「ライト」を選択します.


ここで「適用」ボタンをクリックするとダイアログの表示が以下のような色になります.


タイトルバーなどの色が黒いままなので,「適用して閉じる」ボタンをクリックしてこのダイアログを閉じて,Eclipseを再起動(終了してもういちど実行)します.以下のような白い画面になりました.


ここで,「パッケージ・エクスプローラー」ビュー以外の表示は不要なので,「×」をクリックして他のビューを消します.


一度消したビューを再表示するには「ウィンドウ」メニュー→「ビューを表示」で表示したいビューを選択してください.ここで「パッケージ・エクスプローラー」の右端をつまんで左に移動し,表示をせまくしておきます.


Liberica JDK17を用いたプロジェクトの作成

プログラムの作成を始めます.Eclipseのウィンドウで「ファイル」メニュー→「新規」→「Javaプロジェクト」を選択すると,次のようなダイアログが表示されます.


(初回のみの操作)ここで選択されているJREは標準のJavaSE-17なので,これをLiberica JDK17に変更します.まず,JREの枠内で,以下の図のように一番下のラジオボタンをクリックします.


さらに,右の「JREを構成...」をクリックします.次のようなダイアログが表示されます.


ここにLiberica JDK17を追加します.右の「追加...」ボタンをクリックすると,次のようなダイアログが表示されます.


「次へ」ボタンをクリックすると,次のようなダイアログが表示されます.


一番上の「ディレクトリー...」ボタンをクリックすると,「フォルダーの選択」ダイアログが表示されるので,次のようにフォルダ「C:\pleiades-2021-12\java\jdk-17.0.2-full」を選択して「フォルダーの選択」ボタンをクリックします.


前のダイアログに,今選択したJDKが次のように表示されるので,「完了」ボタンをクリックします.


一個前の,JDKの一覧が表示されているダイアログに戻りました.一番下に,いま追加したJDK17が表示されています.


このJDK17を選択し,「適用して閉じる」ボタンをクリックします.


プロジェクト作成のダイアログに戻りました(初回のみの操作ここまで).

このとき,JREの枠内の3番目のラジオボタンに「jdk-17.0.2-full」と表示されているので,2回目以降はこのラジオボタンが選択されていることを確認すれば良いです.


プロジェクト名を入力します.ここでは「JavaFXtest1」というプロジェクト名にします.「次へ」ボタンをクリックします.


ダイアログの表示が以下のように変わるので,「完了」ボタンをクリックします.


ダイアログが閉じて,以下のようにEclipseの左側のパッケージ・エクスプローラーに,今作成したプロジェクトが表示されています.


プロジェクトにクラス(javaファイル)を追加して実行

パッケージ・エクスプローラーのプロジェクト名「JavaFXtest1」の上にマウスカーソルを置いて右クリックし,「新規」→「クラス」を選択します.すると,次のようなダイアログが表示されます.


名前の欄に「JavaFXtest1」と入力します.これで,JavaFXtest1というクラスがJavaFXtest1.javaというファイルの中に作成されます.

JavaFXのアプリケーションを作成する場合,ここでスーパークラスの欄に「Application」と入力します.また,「public static void main(String[] args)」のチェックボックスをチェックしておくと,クラスの中にmain()関数が最初から書かれた状態になります.これで「完了」ボタンをクリックします.


Eclipseのメイン画面に以下のようにソースコードが表示されました.JavaFXtest1クラスが,Applicationクラスを拡張したものになっています.


このクラスの1行目の左に赤い×マークが付いています.これはエラー表示です.ここではApplicationクラスを使うのに必要なimportが成されていないために表示されています.このアイコンをマウスで左クリックすると,メニューの一番上に「Applicationをインポートします(javafx.Application)」と表示されているので,この行をダブルクリックすると,以下のようにjavafx.Applicationがimportされて赤い×マークが消えます.


以下のようにプログラムを書いてください.


プログラムは以下のとおりです.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class JavaFXtest2 extends Application {
	public void start(Stage primaryStage) throws Exception {
		StackPane root = new StackPane();
		Scene scene = new Scene(root);
		primaryStage.setScene(scene);
		primaryStage.setTitle("JavaFX test");
		primaryStage.show();
	}
	public static void main(String[] args) {
		launch(args);
	}
}

左のパッケージ・エクスプローラーで,プロジェクト名「JavaFXtest1」もしくはファイル名「JavaFXtest1.java」の上でマウスを右クリックして,メニューで「実行」→「Javaアプリケーション」を選択すると,次のようなウィンドウが表示されます.


中身は何もないので,右上の×をクリックしてウィンドウを閉じるか,Eclipseで赤い「■」をクリックしてプログラムを終了させます.