JAVA: Jar作成の際の注意点

普段JAVAの開発ではEclipseを使っているけど、Tzijonikプログラムを移植する際に困ったのがJarの動作。何故か辞書ファイルが上手く読み込まれなくて変な動作をしていた。Eclipseから立ち上げる時は問題なかったのに。

問題はJar内のファイルへのアクセスらしく、元々こう書いていたものを

下記に変更したら問題なくなった。

UTF-8のオプションはJar起動の際の文字化け防止に追加したもの。

Kotz’i’jに恋して17

Javaに移植したTzijonikプログラムを基にJARファイルを作ってみた。

辞書や単語リストの面ではまだまだだけど、恐らく世界初のマヤ・キチェ語のChatbot、つまり人口無脳プログラムではないかなと思う。ダウンロードはココから。

辞書ファイル等を改善しつつ、アンドロイド・アプリとしての開発を始めようと思う。

JTextFieldにヒント情報を表示する方法

TzijonikプログラムをJavaに移植中。

で、JPanelを用いてGUIで作っているけど、ユーザーの入力欄に「ここにメッセージを入力する」ということを伝えるためにヒント(hint/prompt text)を表示したいを思った。

ヒント情報はテキストを入力する際には消えてくれないとヒントそのものも入力されてしまうので、そういう仕様のものを探してみた。色々探したけど、中々思った様なものが無かったので結局自分で書くことに。備忘録として残しておく。

まぁ、そんな大したものではないけど。

ポイントとしてはActionListenerインターフェイスを継承することと、addFocusListenerをオーバーライドするだけ。オーバーライドで好む仕様に変えればいい。

こんな風に出力される。ヒント情報は実際には灰色で表示させているけど、ここでは分かりやすく青で。最初はこう表示されているけど、入力しよう(つまりフォーカスされると)とすると

ヒント情報が消えてなくなる。

入力したテキストはヒント情報の色(今回の例では青)ではなく、黒で表示される。

入力欄からフォーカスが外れ、且つ入力欄に何も入力されていなければ再度ヒントが表示される。

ちなみに「tz’ij」とはマヤ・キチェ語で言葉とか単語という意味。つまり英語で言う「word」をここに入力してというヒント。

Kotz’i’jに恋して2(Java)

同じプログラムのJavaバージョン。Time APIを使っているのでJava8以降で。

TzijonikMain.java

Javaで素数判定

アンドロイド端末用の素数判定アプリを作成した際に下記の様なコードを書いた。

これである程度判定が速くなる。アルゴリズム自体は非常に単純。スマホでも10桁の素数判定に1秒もかからない。もう少し桁数増やすかな。