株式会社東洋のシステム開発は、無駄のない仕様をはじめ、簡単な入力画面や検索機能が人気です。
システムソリューションのメンバーがその素晴らしい機能をひとつずつ紹介いたします。
今回は、システム的な興味のある方向けに、弊社で開発しております販売管理システム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の導入事例もぜひご覧下さい。
Git~Git stashの主な用途と使用例~
Linuxコマンドで必須のコマンド ~ odコマンドについて~
知っているようで知らない!?インターネットワークの仕組みとは
“QuestPlus” ~初期値が適用されるケースとは~
7つの機能をご紹介!「QuestPlusパッケージ」で販売管理業務を効率化
『東洋 Order System』のご紹介と今後のメンテナンスのご案内
インボイス制度?DX?株式会社東洋にお任せください!
QuestPlus〜伝票を修正して登録ボタンを押した時、修正した伝票番号の次の伝票を表示してほしい〜
“QuestPlus” ~スタートアップ~
Linux環境で必須のコマンド 〜nlコマンド〜