0
0

[serika.jar]入門

Last updated at Posted at 2023-12-09
  • 今回、[serika.jar]というソフトを作りました。
    Java17で作られているjarソフトです。
    ダウンロード

  • このソフトは、簡単に使える見える化を伴うようなソフトが欲しいなーっと思って作ったのが始まりでしたような?気もしますが今となっては定かではありません。

  • 一応トップ画面はこんな感じ。
    capture021.png

  • [設定]ってボタンがある
    gcapture001.png
    これは、このソフト全体の設定関係のメニューが開きます。

  • [設定]、これを押下する。
    capture002.png
    主に最初使うのは画面表示だけ。
    capture006.png
    押してみる。
    capture014.png
    こんな画面になる。
    上から配色1、2、3というのは設定のお気に入りなので、最初は入っていない。
    だから、最初はオリジナルとエフェクトぐらいしか使わない。
    capture023.png
    エフェクトで画面のブレとかをまずは自分のパソコン用に修正して見え方をましな感じにする。
    capture024.png
    次に前にどって、オリジナルを押して画面の配色を自分好みに設定する。
    capture025.png
    設定を色々と自分なりに変えて画面配色を変えていく。

  • と大体これぐらいで設定は完了。
    capture026.png
    戻る押下し続けてトップに戻ると、今度は下のバーがあると思う。
    これを、スライドすると画面の透明さが変わってくる。

  • ちょっと先走って話します。
    このソフトは、オリジナル言語を包含していて、これによって機能を色々作ることができるソフトです。
    例えば、メモ帳が前作ったのがあるのでソースを見てみます。

<frame type="original" title="リスト" size="1">
  <object type="JButton" text="ノート" size="w*3/5,h*9/10,w*2/5,h*1/10" tool="ノートを開きます">
<trg no="0">
@string l = @object5(6);
@string d = @thisPath();
@letString ds = d + "/" + "now.set";
@writers(ds,l,1);
@start(list.srk);
@finish();
</trg>
  </object>
  <object type="JButton" text="終了" size="w*0/5,h*9/10,w*2/5,h*1/10" tool="0">
<trg no="0">
@finish();
</trg>
  </object>
  <object type="JButton" text="追加" size="w*3/5,h*8/10,w*2/5,h*1/10" tool="アイテムをリストに追加します">
<trg no="0">
@string l = @object4(6);
@string d = @thisPath();
@letString ds = d + "/" + "list.set";
@string r = @readers(ds,1);
if.i1al=="0"){
@string td = @todayJa();
@letString da = td + "<ax1>" + r;
@writers(ds,da,4);
@object4(1) = "";
@finish();
@start(top.srk);
}end_if.i1a;;;

if.i2b(l!="0"){
@letString da = l + "<ax1>" + r;
@writers(ds,da,4);
@object4(1) = "";
@finish();
@start(top.srk);
}end_if.i2b;
</trg>
  </object>
  <object type="JTextField" text="0" size="w*0/5,h*8/10,w*3/5,h*1/10" tool="0">
  </object>
  <object type="JList" text="list.set" size="w*0/5,h*0/10,w*5/5,h*8/10" tool="リストを選択">
<trg no="0">
</trg>
  </object>
  <object type="JButton" text="変" size="w*2/5,h*9/10,w*1/5,h*1/10" tool="アイテムを変更します">
<trg no="0">
@string o = @object5(2);
@string r = @thisPath();
@string s = "/";
@string f = "hen2_now.set";
@letString d = r+s+f;
@writers(d,o,4);
@finish();
@start(hen.srk);
</trg>
  </object>
  <set>
  </set>
</frame>

トップの画面はこんな感じです。
こういう感じで、メモ帳のファイルを開くような感じの機能を作ってみています。

<frame type="original" title="メモ" size="1">
  <object type="JButton" text="保存" size="w*2/5,h*9/10,w*3/5,h*1/10" tool="0">
<trg no="0">
@string dt = @object3(6);
@string dtt = @object4(6);
@string d = @thisPath();
@letString t1 = d + "/" + "now.set";
@string t3 = @readers(t1,6);
@letString r = d + "/" + t3 + "_memo.txt";
@letString t = d + "/"  + t3 + "_title.txt";
@writers(r,dt,1);
@doReplaceWriters(r,r,"","",1);
@writers(t,dtt,1);
@doReplaceWriters(t,t,"","",1);
</trg>
  </object>
  <object type="JButton" text="戻る" size="w*0/5,h*9/10,w*2/5,h*1/10" tool="0">
<trg no="0">
@start(top.srk);
@finish();
</trg>
  </object>
  <object type="JTextArea" text="0" size="w*0/5,h*1/10,w*5/5,h*8/10" tool="0">
  </object>
  <object type="JTextField" text="0" size="w*2/5,h*0/10,w*3/5,h*1/10" tool="0">
  </object>
  <object type="JLabel" text="タイトル" size="w*0/5,h*0/10,w*2/5,h*1/10" tool="0">
  </object>
  <set>
@string d = @thisPath();
@letString t1 = d + "/" + "now.set";
@string t3 = @readers(t1,6);
@letString r = d + "/" + t3 + "_memo.txt";
@letString t = d + "/"  + t3 + "_title.txt";
@string dt = @readers(r,6);
@object3(3) = dt;
@string drt = @readers(t,6);
@object4(3) = drt;
  </set>
</frame>

上記は実際のメモ帳の画面です。
画面は下記のようになります。
capture001.png
こういう感じで機能を簡単に作ることができます。

  • ただ、このソースだけでは、大規模なものやもっともソケット通信やマクロ機能を作りたいという方もいると思ったので、外部jarをユーザーが独自に作ればそれをソース側からよびだすことができるようにもしました。
    image.png
  • 作られるフォルダの一部にjarフォルダというものがあります。
    その中にしまっておけば、ソースから呼び出せます。

ちょっと休憩します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0