sscapt.jar
(ver.2)
ソースコードの使い方
説明書
MLTLab
(エムエルティ・ラボ)
2014 年 4 月 21 日
1.
はじめに
...3 (1)著作権
...3 (2)ソースコード使用条件
...3 (3)本ソースコード使用に必要なもの
...3 2.ソースコードの使い方
...5 (1)zipファイルの展開
...5 (2)プロジェクトのインポート
...5 (3)文字コードを合わせる
(Windowsの場合)
...6 (4)Java(JRE)のバージョン合わせ
(Java7等の場合
)...8 (5)Eclipse上での実行方法
...11 (6)jarファイルの作成方法
...12 3.ソースコード概要
...14 (1)SsCapt.java...14 (2)SpNumf.java...151.はじめに
sscapt.jar(Ver2)のソースコード(sscaptsrc.zip)をご購入頂き、ありがとうございました。 「シンプルな画面キャプチャーツール」sscapt.jar 本体、およびそのマニュアルは本ソースコー ド一式には含まれておりませんので、お持ちでない方は次のリンクからダウンロードしてくださ い→ http://www.dlmarket.jp/products/detail/117422 本書ならびに本ソースコードは著者が独自に調査したことに基づいています。著者が可能な範囲 で動作確認をしていますが、実行環境によっては正常に動作しない可能性があります。 お気づきのことや疑問点がございましたら、http://www.mltlab.com/mform/m1form.php (メール フォーム)からご連絡をお願いします。(1)著作権
本マニュアルおよびソースコード一式の著作権は、MLTLab(エムエルティ・ラボ)にあります。 無断で販売(転売)したり公開する事を禁止します。(2)ソースコード使用条件
本ソースコードは、プログラミング学習の参考用に提供しているものです。以下の条件に従って 使用してください。 • 本ソースコードの購入者は、購入者自身が使用する範囲においてソースコードを自由に変更 して使用できます。 • 購入者が作成するソフトウェアに、本ソースコードの一部または全部を含めることができま す。ただし、無断で本ソースコードを第三者に公開することは禁止します。 • 本ソースコードに起因する不具合が発生したとしても、MLTLab(エムエルティ・ラボ)はそ の責任を負いません。また、その不具合を修正する義務はないものとします。(3)本ソースコード使用に必要なもの
• Eclipse 本ソースコードは Eclipse のプロジェクトアーカイブファイルになっています。ソース コードを編集したり実行させるには Eclipse という統合開発環境が必要です。Eclipse は http://www.eclipse.org/downloads/ からダウンロードすることができます。(Linux の 場合は、ディストリビューションのパッケージに含まれていることもあります。) • JRE(Java Runtime Environment)Eclipse や sscapt.jar(ソースコードを変更して作成したものを含む)を動作させるには、 各 OS 用の JRE(Java Runtime Environment) が必要です。
-JRE のインストールについては、「シンプルな画面キャプチャーツール」sscapt.jar のマ ニュアル(第3章)を参照してください。 • UTF-8 が扱えるエディタ(任意) ソースコードを参照するだけであれば、UTF-8 が扱えるエディタを使用することもできま す。本ソースコードの文字コードは UTF-8、改行コードは Unix(LF のみ) になっています。 ※ Eclipse を用いずに JDK 等を使ってコンパイルや jar 作成を行うことも可能ですが、その方法 についてはサポートの対象外とさせて頂きます。 − 4
-2.ソースコードの使い方
(1)zip ファイルの展開
sscaptsrc.zip を展開するには、ファイルマネージャ(エキスプローラ等)でファイルを右クリッ クして「全て展開」を選ぶか、解凍ソフト(Lhasa や unzip 等)を使用してください。 展開先は任意ですので、書き込み権限があるフォルダ(ディレクトリ)を指定してください。 sscaptsrc.zip を展開すると • projsscapt.zip ... Eclipse 用プロジェクトファイル(ソースコード含む) • sscaptsrc.pdf ... ソースコードの使い方説明書(本書) の2つのファイルが生成されます。(2)プロジェクトのインポート
1)Eclipse のメニューから、File:Import を選択します2)Import ダイアログの General-Existing Projects into Workspace を選択して[Next]をク リックします
-3)Select archive file をクリックします
4)Select archive file の右側にある[Browse]ボタンをクリックしてプロジェクトファイル (sscaptsrc.zip)を指定して[Finish]をクリックします
(3)文字コードを合わせる(Windows の場合)
Windows の場合は、標準の文字コードが MS932(シフト JIS)ですので、import 直後は文字化けして います。以下の手順で文字コードを UTF-8 にしてください。 1)Eclipse のメニューから、Project:Properties を選択します − 6-2)Eclipse のメニューから、Project:Properties を選択します
3)Eclipse のメニューから、Project:Properties を選択します Resource の Text file encoding の Other を選び「MS932」の右側の「v」をクリックして UTF-8 を選択します。 4)同様に、New text file line delimiter の Other を選び「Windows」の右側の「v」をク
リックして Unix を選択します。 5)次に[OK]をクリックします。
-(4)Java(JRE)のバージョン合わせ(Java7 等の場合)
プロジェクトファイルは Java6(JRE 1.6)を使用する設定になっているので、Java7 を使っている 場合などは import 後に「JavaSE-1.6 がありません」という意味の警告マークが表示されます。
※ 警告は「Build path specifies execution environment JavaSE-1.6. There are no JREs installed in the workspace that are strictly compatible with this environment.」です。
そのままでも編集や実行は可能ですが、警告を消したい時は以下の操作をしてください。
1)Eclipse のメニューから、Project:Properties を選択します
-2)Java Build Path をクリックし、「Libraries」のタブを選択します 3)右側の「Add Library ...」をクリックします
4)「JRE System Library」を選択して[Next >]をクリックします
-5)「Workspace default JRE(jre7)を選択して[Finish]をクリックします
6)「JRE System Library[jre7]」が追加されたことを確認して[OK]をクリックします
以上の操作で警告が消えます。
-(5)Eclipse 上での実行方法
1)Eclipse のメニューから run:run as :Java Application を選択します(初回)
Run As に「Java Application」の選択肢が現れないときは「Run Configurations...」を クリックし「Java Application」を選択して New ボタンをクリックしてください。 Name:は「New_configuration」となっていますが、SsCapt に変更します。
次に「Project」右側にある[Browse]ボタンを押して Sscapt2 のプロジェクトを選択し[OK] をクリックします。
次に「Main class」右側にある[Browse]ボタンを押して Sscapt を選択し[OK]をクリック します。
次に、右下の[Run]をクリックします。
2)次からは「run:run」または run アイコン横の▼からプロジェクト名を選択して実行でき ます。
-(6)jar ファイルの作成方法
1)「File:Export:Java-Runnable JAR file」を選択し[Next]をクリックします
2)Launch configuration の「v」をクリックしてプロジェクトを選択します
-3)Export destination の[Browse]をクリックし、出力先(jar ファイル名)を入力して [Finish]をクリックします。
-3.ソースコード概要
sscapt.jar は、2つのソースファイルから構成されています。 SsCapt.java ... キャプチャープログラム本体 SpNumf.java ... スピン(▲▼付き)数値入力フィールド 以下に概要を記載しますが、詳細はソースコードおよびソースコード内のコメントを参照してく ださい。(1)SsCapt.java
SsCapt.java のクラスの構成は次のようになっています。 SsCapt は「操作窓」で、クラス内クラスとして CapWin(キャプチャー窓)を含んでいます。 CapWin 内には mCanvas がありキャプチャーエリアを求める座標計算に使用しています。座標計算 は CapWin の移動や大きさ変更が行われた際に動作する ComProc という ComponentAdapter で行 なっています(setnumfld()参照)。キャプチャー処理自体は単純に Robot クラスの CreateScreenCapture を使用しています。タイ マー処理があるので少し複雑に見えるかもしれませんがキャプチャー自体は簡単です。
-Canvas は、キャプチャーしたデータを表示するのに使用しており、キャプチャー後に窓の大きさ が変更された場合は、縦横比を維持したまま縮小表示するようにしています。キャプチャーサイ ズより Canvas が大きくなった場合は、拡大はせずに余白を余白色で埋めます。 画像データの保存は、ImageIO.write() 一発なのですが、前処理としてファイルダイアログを出 したり、JRE でサポートされている拡張子かどうかのチェックをしています。
(2)SpNumf.java
SpNumf.java のクラスの構成は次のようになっています。SpNumf は、Panel を extends しており、「Label, TextField, Canvas」または「Checkbox, Label, TextField, Canvas」を含んでいます。後者は boolean 付きのコンストラクタを使用した 場合に生成されます。
▲▼の数値増減ボタンは Canvas に描画しています。ClickHandle という MouseAdapter でクリック を検出し、テキストフィールドの数値を+1または−1します。
TextFiled に数値を格納する際には、左側に半角スペースを追加して数字が枠の左端にくっついて 見づらくならないようにしています。