[ 前へ | 目次 | 次へ ]
Now Loading...
ダウンロード
PC (※スマートフォンでは動きません) でダウンロードし、ZIPファイルを右クリックメニューから展開して、できたフォルダ内の「 VCSSL.bat(バッチファイル) 」をダブルクリックすると起動します。 Linux等では「 VCSSL.jar 」をコマンド実行してください。
» 詳しい使用方法や、エラーで展開できない際の対応方法などはこちら

[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

このプログラムは、 「 VCSSL GUI開発ガイド 」 の 「 各種GUIコンポーネントの生成と配置 」 の回に登場するサンプルコードです。 ここでは、そのサンプルコードを実行環境ごとダウンロードして、実際に実行してみる事ができます。 プログラミングガイド的な詳しい解説については、上記ページをご参照ください。

使用方法

ダウンロードと展開(解凍)

まず、PC(スマホは未対応)で上の画面の「 ダウンロード 」ボタンを押してください。 するとZIP形式で圧縮されたファイルがダウンロードされるので、そのZIPファイルを右クリックして「すべて展開」や「ここに展開」などで展開(解凍)してください。 展開が成功すると、ZIPファイルと同じ名前のフォルダができ、その中にZIPファイルの中身が入っています。

» 展開がエラーで止まってしまう場合は…

なお、Linux® 等をご使用で、右クリックメニューから展開するとファイル名が文字化けしてしまう場合は、 コマンドライン端末でZIPファイルのある場所まで cd した上で「 unzip -O cp932 ZIPファイル名 」で展開してみてください。

プログラムの起動

Microsoft® Windows® をご使用の場合

上記の通りにZIPファイルを展開したフォルダ内にある、 「 VCSSL.bat(種類はバッチファイル) 」をダブルクリック実行してください。 もしプログラムの内容を書き変えながら使いたい場合は、代わりに「 VCSSL_Editor.bat 」を実行してください。

実行すると、最初にメモリー使用量や、(必要な場合のみ)Java®実行環境を自動で入手するか 等を尋ねられるので、適時答えると、プログラムが起動します。2回目以降はすぐに起動します。

※ ここで入手したJava®実行環境は、ZIPファイルを展開した中の「 jre 」フォルダ内にダウンロードされ、このプログラムの実行のみに使用されます。PC全体に影響する形でインストールされる事はありません。

Linux® 等やその他のOSをご使用の場合

ZIPファイルを展開したフォルダ内へコマンドライン端末で cd して、以下の通り入力して実行してください:

java -jar VCSSL.jar
(プログラムの内容を書き変えながら使いたい場合は、代わりに VCSSL_Editor.jar を実行)

» javaコマンドが使用できない等のエラーが表示される場合は…

起動後

起動すると、以下のような画面が表示されます。

実行結果
実行結果
プログラムを起動すると、色々なGUIコンポーネント(画面部品)が配置されたウィンドウが立ち上がります。

画面上には、上図のように、色々な種類のGUIコンポーネント(画面部品)が配置されています。 今回のコードは、このように色々なGUIコンポーネントを生成して配置してみるだけの、単純なサンプルコードです。 そのため、配置されているボタンなどを操作しても、まだ何も起こりません。

なお、ユーザーによる画面操作に対応する処理を実装するには、GUI開発ガイドの「 イベント処理 」の回の解説をご参照ください。 このコードアーカイブでも、次回でイベント処理を実装したサンプルコードを掲載する予定です。

コード解説

このプログラムのコードはVCSSLで記述されています。

内容を書き変えて改造したい場合には、 プログラムのコード「 GUIComponent.vcssl 」をテキストエディタで開いて改造してください。 スクリプト言語なので、コンパイラなどの別ソフトは不要で、コードを書き換えるだけでOKです。 VCSSLはC系の単純な文法の言語なので、C言語などに触れた事のある方なら簡単に読めると思います。

コード全体は以下の通りです。

以上です。非常に短いコードですね。 詳しい解説は、このサンプルコードの掲載元である 「 VCSSL GUI開発ガイド 」 の 「 各種GUIコンポーネントの生成と配置 」 の回をご参照ください。

簡単に何をやっているかだけまとめると、 まず先頭行では文字化け対策で、コードを書いてあるファイルの文字コードが「Shift_JIS」である事を明示しています。文字コードは他にも「UTF-8」などを使用できます。

続く「 import 〜 」の行では、VCSSLでGUIを扱う機能を提供する「 GUI 」ライブラリを読み込んでいます。 このリンク先のページで、ライブラリの仕様書(関数の一覧やそれぞれの機能説明など)を見る事ができます。

その次の行ではさらに、VCSSLで画像や描画領域などのグラフィックス関連データを扱うための「 Graphics 」ライブラリを読み込んでいます。 これは、GUI画面上に画像ファイルの内容などを表示する際に必要になります。 実際に今回のサンプルでは、画像ファイル「 Test.png 」を読み込んで、その内容を画面上に、画像ラベルというGUIコンポーネント(後述)を用いて表示しています。

ここまでがいわば下準備で、その後が今回のサンプルコードの本題である、GUIコンポーネントを生成して配置していく処理が続きます。 ここでGUIコンポーネントというのは、つまるところ「 画面を構成する部品 」の事で、ボタンやテキストフィールドなどが含まれます。 それらは普通はウィンドウ上に配置されますが、そのウィンドウも一つのGUIコンポーネントです。

という事で、まずは土台となるウィンドウを生成しています:

ここで使用している newWindow 関数は、呼ばれるとウィンドウを生成してくれます。 ウィンドウを含めて、各種のGUIコンポーネントは複数生成する事ができるので、それらを区別できるようにするため、 生成時に整数のID番号が割りふられます。 ここで生成したウィンドウのID番号は newWindow 関数の戻り値として返されるので、int 型変数 window に格納しています。 すぐ後で扱う、各種のGUIコンポーネントを生成してくれる new〜 関数も同様で、戻り値としてID番号を返します。

なお、このようにGUIコンポーネントに割りふられるID番号の事をGUIコンポーネントIDと呼びます。 GUIコンポーネントIDは、生成したGUIコンポーネントを配置したり、設定を行ったり、またはユーザーによって操作されたコンポーネントを判定する際などに使用します。

さて、続きです。その後は色々なGUIコンポーネントを生成してウィンドウ上に配置していますが、基本はどれも共通しているので、 ボタンの配置に関する処理をクローズアップして見てみましょう:

最初の行では先のウィンドウとほとんど同じように、newButton 関数でボタンを生成して、 その戻り値として返されるGUIコンポーネントIDを、int 型変数 button に格納しています。

その次の行では、mountComponent 関数を用いて、ボタンをウィンドウ上に配置しています。 ここで、何を何の上に配置するのかを指定するために、ボタンやウィンドウの生成時に int 型変数に控えておいたGUIコンポーネントIDを、引数に渡しています。

その後は同様に、テキストフィールドやセレクトフィールド(選択肢)などの色々なGUIコンポーネントを生成し、ウィンドウ上に配置していっています:

このように、生成するGUIコンポーネントの種類に応じて、生成用の関数「 new 〜 」が用意されているので、 それを使って目的の種類のGUIコンポーネントを生成しています。 その点を除けば、先のボタンの場合とほぼ同じです。

生成用の「 new 〜 」関数に渡す引数は、生成するGUIコンポーネントの種類によって異なります。 上で掲載しているコード内の関数名の箇所をクリックすると仕様書のページに飛べるため、引数の詳細などはそちらをご参照ください。 例えば、セレクトフィールドは選択肢を string 型の配列として渡す必要があるので、そういしています。

さて、最後です。残っているのは、画像の内容を表示するための、画像ラベルの生成と配置です。 これは画像を読み込む必要があるため、他よりも一手だけ増えます:

ここではまず、Graphics ライブラリの newGraphics 関数を用いて、 画像ファイル「 Test.png 」を読み込んでいます。

読み込んだ内容は、VCSSLプログラム内で表示や描画などに汎用的に使える、「 グラフィックスデータ 」という形で保持されます。 これにもID番号の一種であるグラフィックスデータIDが割りふられるので、 それを int 型変数 graphicsID に控えています。

あとは、他のGUIコンポーネントとほぼ同様に、画像ラベルを生成してウィンドウ上に配置します。 画像ラベルの生成を行うのは newImageLabel 関数ですが、 その引数に、表示する画像の内容を保持するグラフィクスデータのIDを渡します。 いまの場合は、先ほど「 Test.png 」を読み込んだグラフィックスデータのID(変数 graphicsID)を渡しています。

画像から読み込んだグラフィックスデータ以外にも、Graphics2D ライブラリや Graphics3DD ライブラリを用いて描画した2D/3DCGのグラフィックスデータを表示させる事もできます。

コード内容は以上です。

詳しいVCSSLのプログラミングガイド(無料)はこちらへ!

上記のコードはプログラミング言語VCSSLで記述されており、VCSSLのプログラミングガイドは下記で無料公開しています。 上記のコードを改造したい方や、新しいコードを書いてみたい方はぜひご活用ください!

ブラウザで読めるWeb版だけでなく、PDF版も無料で配布しています!

スタートアップガイド( プログラミングがはじめての方向け )
プログラミングの入門書に相当する内容です。プログラミングが初めての方はこちらがおすすめです。
即席ガイド( C系言語ユーザー向け )
C言語や C++ などのC系の言語を扱われている方が、即席でVCSSLを扱うための簡易ガイドです。
文法ガイド
VCSSLの文法や基本的な機能を淡々とまとめた、リファレンスマニュアル的な位置づけのガイドです。
GUI開発ガイド
ボタンや入力項目などのGUI部品が並ぶ、画面を備えたVCSSLプログラムを開発するためのガイドです。
2DCG開発ガイド
画面上や画像ファイルなどに、2次元的な描画を行うVCSSLプログラムを開発するためのガイドです。
3DCG開発ガイド
画面上や画像ファイルなどに、3次元的な描画を行うVCSSLプログラムを開発するためのガイドです。
標準ライブラリ 仕様書
コード内で呼び出される関数は、大半が標準ライブラリのものです。その詳細仕様を掲載しています。

ライセンス

このVCSSLコード( 拡張子が「.vcssl」のファイル )は実質的な著作権フリー(パブリックドメイン) である CC0 の状態で公開しています。 そのままでのご利用はもちろん、言語の種類を問わず、改造や流用などもご自由に行ってください。

※ ただし、このVCSSLコードの配布フォルダ内には、ダウンロード後すぐに実行できるように、 VCSSLの実行環境も同梱されており、そのライセンス文書は「 License 」フォルダ内に同梱されています (要約すると、商用・非商用問わず自由に使用できますが、使用の結果に対して開発元は一切の責任を負いません、といった具合の内容です)。 配布フォルダ内の各構成物の一覧やライセンスについては「 ReadMe_使用方法_必ずお読みください.txt 」をご参照ください。

この記事中の商標などについて

  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • Windows は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。この記事は独立著作物であり、Microsoft Corporation と関連のある、もしくはスポンサーを受けるものではありません。
  • Linux は、Linus Torvalds 氏の米国およびその他の国における商標または登録商標です。
  • その他、文中に使用されている商標は、その商標を保持する各社の各国における商標または登録商標です。

[ 前へ | 目次 | 次へ ]
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
この階層の目次
お知らせ

リニアングラフ3DのVCSSL用APIにカメラ制御関数を追加、回転アニメーションツールも同梱
2019年10月09日 - RINEARNでは10月9日にソフトウェアの最新版をリリースしました。VCSSLのAPI関数の追加や、リニアングラフ3Dのアニメーションツールの追加など行っています。その概要をお知らせします。

小型関数電卓 RINPn(旧称リニアンプロセッサー nano)の公式ページを開設
2019年10月02日 - 現在オープンソースで開発中の、「シンプル&コンパクト」を目指した小型プログラマブル関数電卓ソフト「 RINPn 」の公式ページが、RINEARNサイト内にオープンしました。その概要をお知らせします。

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

新着
3Dグラフを回転アニメーションさせるツール

3Dグラフを、Z軸まわりにゆっくりと回転アニメーションさせるツールです。全角度のグラフを、連番の画像ファイルに保存する事もできます。
2019年10月09日
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
開発元Twitterアカウント