2015年05月03日


日本語 Eclipse 4.4 Pleiades All in One Java(Vector から) で即 Window Builder を使う

Eclipse 4.4 Pleiades All in One Java を Vector よりダウンロード



32ビットの Java Full バージョンのみですが、とても使いやすくおすすめです。

Pleiades では、Eclipse の書庫内の階層が多すぎて、解凍用のソフトウェアにも言及するようなものでしたが、これを使うと自己解凍なので安心して使用できます。

『デフォルトでは c:\pleiades (c:\pleiades\eclipse) に解凍されます。』

なので、デフォルトを変えるのはおすすめではありません。というかしないほうがいいです。そして、自己解凍はそういう理由なので、アンインストールはフォルダを削除するだけで良く、二つ以上の Eclipse の開発環境も作成可能です。

pleiades のお約束

1) 既に日本語化されている
2) 何か設定が変わったら、eclipse.exe -clean.cmd を実行するといいかもしれない
3) JDK は中に入っているので Java のインストールは必要無い。既にあっても関係無い。

解らない場合は忘れて下さい。過去の経験からのお約束なので。

Window Builder プロジェクトの作成





これで作らないと動きません。



プロジェクトから新規で『その他』



アプリケーションウインドウを作成します



ここまでで、Window を表示可能になります

メニューの処理

少し解りにくいですが、Menu Manager が、同一階層のメニューユニットです。デフォルトでは空なので、さらに Menu Manager を追加し、その中に 『新規』を追加して行きます。




この時点でソースには、二つのアクションが作成されています。
	/**
	 * Create the actions.
	 */
	private void createActions() {
		// Create the actions
		{
			action = new Action("New Action") {

			};
		}
		{
			action_1 = new Action("New Action") {

			};
		}
	}
後は、Action の中で、Override で run を作成してその中に処理を記述します




	/**
	 * Create the actions.
	 */
	private void createActions() {
		// Create the actions
		{
			action = new Action("New Action") {

				@Override
				public void run() {
					// TODO 自動生成されたメソッド・スタブ
					super.run();
					
					System.out.println("メニューの処理");
				}

			};
		}
		{
			action_1 = new Action("New Action") {

			};
		}
	}
ボタンはもっと簡単で、作ってダブルクリックしたらイベントが作成されます
	/**
	 * Create contents of the application window.
	 * @param parent
	 */
	@Override
	protected Control createContents(Composite parent) {
		Composite container = new Composite(parent, SWT.NONE);
		container.setLayout(null);
		{
			Button btnNewButton = new Button(container, SWT.NONE);
			btnNewButton.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent e) {
					System.out.println("ボタンの処理");
				}
			});
			btnNewButton.setBounds(10, 10, 81, 28);
			btnNewButton.setText("New Button");
		}

		return container;
	}



posted by at 00:32 | Comment(0) | 開発用 | このブログの読者になる | 更新情報をチェックする


2015年05月02日


『新しい Google ドライブ』と『以前の Google ドライブ』の間には OCR 機能の圧倒的な差があります

古い Google ドライブ



新しい Google ドライブ



この数ヶ月様子を見てきましたが、大きな変化も無いので記録も含めて記事にします。そもそも、古い Google ドライブでは、アップロード時に画像をドキュメントに変換するように指定する事で、相当な精度で OCR の機能が働いていましたが、新しい Google ドライブでは、変換こそ、右クリックから『アプリで開く』=>『Google ドキュメント』と簡単になっていますが、OCR の機能はかなり低くなっています。

新聞を写真で撮影し、黒い部分を加工で飛ばして文字が薄くなった状態でも、古い Google ドライブではなんなく文字に変換できますが、新しい Google ドライブでは全く無視されます。

▼ すごい精度!!


単純にキャプチャした文字画像ならは完全に近い形で新しい Google ドライブでも変換してくれますが、それではあまり意味無いと思います。今後まだ進化するのを期待して記録とします。

▼ できてあたりまえ・・・






posted by at 22:05 | Comment(0) | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google スプレッドシートを使用したブログ内メニュー

★ このリンクは Google Drive へ直接アクセスします



埋め込みが IFRAME なので、高さは内容に合わせて変更する必要があります。ですから、あらかじめ大きめに設定しておいたほうがいいと思います。

ただ、この場合メニューが目的と言うよりも、ブログ内の情報の全体像を把握すると言う、自己管理用の意味合いのほうが重要で大きいです。

Google ドライブで埋め込みを作成する手順


( 常に最初からアニメーションします )




posted by at 20:54 | Comment(0) | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google グループの VirusTotal というサービスは、疑わしいファイルや URL を分析する無料のサービス

ファイルをアップロードして、世の中にある検査ソフト総出でウイルスチェックするサービスです。

VirusTotal

▼ Wikipedia
2012年9月7日にGoogle Inc.がVirusTotalをHispasecから買収した

フリーソフトはとにかくチェック!!

どんなファイルであれ、実行可能なものであれば一応チェックしておけば安心して作業を進める事ができます。

スキャンを開始しても、過去に既にスキャン済みのものは、経過時間と結果を表示して再度スキャンするかを尋ねられます。もちろん殆どの場合再スキャンするわけですが、他の人が行ったスキャン結果でも安心できるし、経過時間でそのソフトの人気度も推測できるというものです。

URL 先のチェック

WEBメールに来る、見るからにアウトな中にある URL を、デベロッパーツール( F12 ) で取り出してチェックすると見事にアウトでした。





ちなみに、『トレンドマイクロ オンラインスキャン』でダウンロードされる『Onlinescan.exe』もスキャンしてみました。そんな人多いみたいです。




posted by at 20:31 | Comment(0) | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google がホスティングしている jQuery を使用して、jQuery UI の Spinner のボタン部分だけを使う方法

Hosted Libraries( Google ) は、有名な JavaScript のライブラリの各バージョンをホスティングしてくれているので、いつでもどこでも好きな時に利用する事ができます。

以下は直訳ですが、Google の翻訳です。
Googleのホストされているライブラリは安定した、信頼性の高い、高速、JavaScriptのライブラリで最も人気のある、オープンソースのグローバル使用可能なコンテンツ配信ネットワークです。Googleは、各ライブラリの努力のための主要な利害関係者と直接連携し、それらがリリースされる最新バージョンを使用できます。
jQuery の場合便利なのは、CSS も同時に用意してくれているところです。以下でも利用(black-tie)していますが、テーマのタイプもそこにあれば使えるので試してみるといいと思います。 ※ Spinner は、押し続けても使えるのでとても便利なコントロールです 以下は実際の記事上でのデモ実行
▼ この下に、Spinner 用の テキストフィールドがありますが非表示にしています
y
Spinner は通常では上のように縦になります

▼ この下の Spinner 用のフィールドは SPAN 要素で挟んでいます
x
SPAN 要素に対して回転する CSS を適用して横表示にしています

x y
x y

以下は記事内にある実際のソースコードです
<script>
// jQuery が無い場合は、Google がホスティングしているライブラリをロードする
if ( !window.jQuery ) {
	if ( typeof window[window.location.hostname+'.loadjQuery'] === 'undefined' ) {
		if ( window.addEventListener ) {
			window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js';
		}
		// *************************************
		// 古い IE に気を使う
		// *************************************
		else {
			window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js';
		}
	}
	document.write("<"+"script src=\"" + window[window.location.hostname+'.loadjQuery'] + "\"></"+"script>");
}
</script>
<script>
// jQuery UI が無い場合は、Google がホスティングしているライブラリをロードする
if ( !jQuery.ui ) {
	document.write("<"+"link rel=\"stylesheet\" href=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/black-tie/jquery-ui.css\">");
	document.write("<"+"script src=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js\"></"+"script>");
}
</script>
<script>
// *************************************
// jQuery の ページロード時の処理
// *************************************
$(function(){
	$( "#spinner1" ).spinner({
		spin: function( event, ui ) {
			// *************************************
			// $(this).val() は、変化する前の値
			// ui.value は変化した後の値
			// *************************************
			var val = $(this).val()-ui.value;
			// ▲ をクリックするか押し続けると処理されます
			if ( val < 0 ) {
				$( ".y" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットしてマイナス1
					$(this).val( (parseInt($(this).val())||0)-1 );
				});
			}
			// ▼ をクリックするか押し続けると処理されます
			else {
				$( ".y" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットしてプラス1
					$(this).val( (parseInt($(this).val())||0)+1 );
				});
			}
		}
	})
	// 入力部分を使わないので、最小のサイズにして、高さをセット
	.css({ 
		width: "0px",
		"font-size": "0px",
		height: "30px"
	 })
	.show();

	$( "#spinner2" ).spinner({
		spin: function( event, ui ) {
			var val = $(this).val()-ui.value;
			// ▲ をクリックするか押し続けると処理されます
			if ( val < 0 ) {
				$( ".x" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットする
					$(this).val( (parseInt($(this).val())||0)+1 );
				});

			}
			// ▼ をクリックするか押し続けると処理されます
			else {
				$( ".x" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットする
					$(this).val( (parseInt($(this).val())||0)-1 );
				});
			}
		}
	})
	// 入力部分を使わないので、最小のサイズにして、高さをセット
	.css({ 
		width: "0px",
		"font-size": "0px",
		height: "30px"
	 })
	.show();

});

</script>
<style type="text/css">
/* 対象範囲内の Spinner の表示調整 */
#spinner_box .ui-spinner-button {
	width: 100%!important;
}
#spinner_box .ui-icon {
	left:4px!important;
}

/* 左右にアイコンの向きを配置する */
.rotate_wrap {
	display: inline-block;	/* 回転する為に行内ブロック化 */
	transform: rotate(90deg); /* 回転 */
	margin-left: 10px; /* 表示位置調整 */
}

/* 表示フィールド用 */
.x, .y {
	width:50px;
}
</style>
<div id="spinner_box">
▼ この下に、Spinner 用の テキストフィールドがありますが非表示にしています<br>
y <input id="spinner1" style='display:none;' value="0"><br>
Spinner は通常では上のように縦になります<br><br>

▼ この下の Spinner 用のフィールドは SPAN 要素で挟んでいます<br>
x<span class="rotate_wrap"><input id="spinner2" style='display:none' value="0"></span><br>
SPAN 要素に対して回転する CSS を適用して横表示にしています

<br><br>
x <input type="text" class="x"> y <input type="text" class="y"><br>
x <input type="text" class="x"> y <input type="text" class="y"><br>

</div>
ブログ記事で使うにあたって、jQuery を使う記事だけでロードするようにしてあります。



posted by at 15:07 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする