TEL:075-591-5111
平日9:00〜17:30

QuestPlusのコンピュータ言語

 

今回は、システム的な興味のある方向けに、弊社で開発しております販売管理システムQuestPlusがどのようなコンピュータ言語で作られているかを紹介させて頂きます。

 

QuestPlusは、Javaという言語で作られています。GUI部分はSwingではなくJavaFXで作られています。
QuestPlusを作り始めた当初は、未だJavaFXは正式版が出ておらず、Javaのバージョン7にJavaFXのライブラリを追加する形で開発していました。
その頃のJavaFXでは日本語関係機能が不足しており、特に、日本語IME制御機能は日本語を扱う業務ソフトではほぼ必須の機能であり、なければ業務ソフトとして致命的でした。

 

日本語IME制御機能というのは、例えば、数字を入れる入力域ではキーボードからの入力をそのまま入れるモードにし、日本語を入れるべき入力域では仮名漢字変換モードにする(日本語でも、半角カタカナを入れたい入力域では半角カタカナモードにする)などの機能です。この自動切り替えにより、仮名漢字変換用のキーを押す手間が省けることになります。

 

例えば、ローマ字しか入れない入力域(以下の画像の黄色の背景色の領域)では、

 

 

日本語IMEは、半角英数になっています。

 

これが、日本語の漢字が入ると期待される入力域(以下の画像の黄色の背景色の領域)では、

 

日本語IMEは、ひらがなになっています。

 

このモード変換が、自分で変換キーを押す必要がなく、自動的に変わります。

ただ、Javaのバージョン8で正式版JavaFXが組み込まれて提供され、その時には日本語IME制御機能が提供されるとアナウンスされていた為、大丈夫だろうと信じていました。
しかし、残念なことに正式版でも日本語IME制御機能は提供されず、仕方なく自社で組み込むことにしました。

 

幸いなことにJavaには、JNIという他の言語で書かれたコードと連携する為のAPI仕様があります。
取り敢えず動作OSとしてはWindowsを想定しており、Windows向けにはC(C++含む)言語のAPIとして日本語IME制御機能が含まれている為、C言語でその制御部分を作成し、Java側ではそれを呼び出す制御を作成すれば済みます。

 

そのように作成して、QuestPlusでは日本語IME制御機能が組み込まれています。
動作OSは制限が掛かるもののJavaFXで不足している機能でも、JNIという機能により実現させることができます。

 

以上のような方法でQuestPlusを制作しております。

さまざまな業種でご利用いただいているQuestPlusの導入事例もぜひご覧下さい。

 

“QuestPlus”の導入事例
https://system.toyo-group.co.jp/case

 


TOP