SQLの窓

2009年09月26日


Java : クラスメソッドとインスタンスメソッド

概要
クラスメソッドは static で定義され、実行時に常に全ての情報を渡す
他言語における一般的な「関数」にあたります。

インスタンスメソッドは、実行単位毎にメモリ上に存在して、
各々固有の情報を持ちます。それは、コンストラクタでインスタンス作成時
に渡される場合もありますが、後からメソッドでデータを引き渡す場合も
あります。

それらは、内部で保持される為、その値を使うメソッドを実行する場合、
呼び出すたびに値を引き渡す必要はありません


Main.java
import lightbox.*;

public class Main {

	public static void main(String[] args) {

		System.out.println(Test.getDateSystem());
		
		Test lb = new Test();
		System.out.println(lb.getDateString());

	}

}



Test.java
package lightbox;

import java.text.DateFormat;
import java.util.Date;

public class Test {

	private Date myDate = null;
	
	// *****************************************************
	// コンストラクタ 
	// *****************************************************
	public Test() {
		myDate = new Date();
	}

	// *****************************************************
	// 日付文字列 ( インスタンス ) 
	// インスタンス作成時の日付
	// *****************************************************
	public String getDateString( ) {

		String strDate = null;

		strDate = DateFormat.getDateInstance().format(myDate);

		return strDate;

	}

	// *****************************************************
	// 日付文字列 ( クラス ) :
	// 呼び出した時の日付
	// *****************************************************
	public static String getDateSystem( ) {

		Date myDate = null;
		String strDate = null;

		myDate = new Date();
		strDate = DateFormat.getDateInstance().format(myDate);

		return strDate;

	}

}



タグ:java
posted by lightbox at 2009-09-26 19:57 | Java | このブログの読者になる | 更新情報をチェックする

2009年09月23日


Flex3 : DataGrid をユーザコントロール化したサンプルパッケージ

ブラウザでダウンロード

DataGrid のサンプルではありますが、こういう使い方は初心者向けではありません。( ソースコードは同梱しています )
今回の目的は、FlashVars の取得と右クリックで表示されるポップアップメニューの扱いがメインです。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:my="winofsql.Controls.*"
	initialize="initData();"
>

<mx:Style source="Style.css" />
<mx:Style>
LboxGrid {
	color: black;
}
</mx:Style>

<mx:Script>
<![CDATA[

	import mx.controls.*;
	import mx.events.*; 
	import mx.formatters.*;
	import flash.external.*;
	import flash.events.*;
	import mx.collections.*;

	// **************************
	// アプリケーションの初期化
	// **************************
	public function initData():void {

		// パラメータをプロパティとして持つ Object を取得
		var param:Object = mx.core.Application.application.parameters;

		// LboxGrid 初期化
		grid.Reset();

		// ヘッダタイトルを表示
		grid.ShowHeader();

		// 高さを設定
		grid.width = 500;
		grid.height = 350;

		// 列を追加
		grid.AddColumn("KEY");
		grid.SetColumnWidth( 0, 200 );
		grid.AddColumn("VALUE", 300 );
		grid.AddColumn("TEXT");

		// LboxGrid に全てセット
		var i:int = 0;
		for (var key:* in param) { 
			grid.AddRow( key, param[key] );
		}

		// 行を選択しない
		grid.Unselect();

		// ダブルクリックを可能にする
		grid.doubleClickEnabled  = true;
		grid.addEventListener( MouseEvent.DOUBLE_CLICK, function( e:MouseEvent ):void {

			firebug( e.stageX - (grid.localToGlobal(new Point(grid.x,0))).x + 9 );

			var nIdx:int = grid.selectedIndex;
			Alert.show( grid.GetColumnText( nIdx, "COL1" ));
			grid.SetColumnText( nIdx, "COL1", "" );

		});

		// 右クリックメニュー
		var cMenu:ContextMenu = new ContextMenu();
		// 必要最低限の adobe メニューのみ表示
		cMenu.hideBuiltInItems();

		var cMenuItem:ContextMenuItem =
			new ContextMenuItem("SQLの窓");
		cMenuItem.addEventListener(
			ContextMenuEvent.MENU_ITEM_SELECT,
			function (event:ContextMenuEvent):void {
				var req:URLRequest = new URLRequest(
					"http://winofsql.jp/"
				);
				navigateToURL(req, "_blank");
			}
		);
		cMenu.customItems.push(cMenuItem);

		this.contextMenu = cMenu;

	}

	// **************************
	// ログ表示
	// **************************
	public function firebug(data:Object):void {
	
		var fmt:DateFormatter = new DateFormatter();
	
		fmt.formatString = "YYYY/MM/DD HH:NN:SS";
		var logdt:String = fmt.format( new Date );
	
		ExternalInterface.call(
			"console.log", logdt,
			data+""
		);
	
	}

]]>
</mx:Script>

<mx:Panel
	horizontalAlign="center"
	paddingLeft="10"
	paddingRight="10"
>
	<my:LboxGrid id="grid"/>

</mx:Panel>
</mx:Application>




posted by lightbox at 2009-09-23 23:32 | Flex | このブログの読者になる | 更新情報をチェックする

2009年09月22日


TOMCAT6 をインストールしてサンプルアプリケーションも自動登録する


Tomcat 6.x のインストールと初期設定
TOMCAT は、インストールしてしまえば、ただの Java の WEB アプリなのですが、
インストールするまでが面倒だったりします。

そこで、テキストエディタで JSP を書いてブラウザで表示するという目的の作業までの
インストール作業を最短距離にしてしまおうというわけです。

Tomcat_2

最も注意すべき問題は、ディレクトリのセキュリティなので、
VBS : バッチ処理でディレクトリ(ファイル)の権限を追加したり削除したりする方法
または、GUI で、アプリケーションディレクトリに対して、Users または
Everyone を追加登録してフルコントロール権限を与えて下さい
( 権限が無いとアプリケーションディレクトリの配置でエラーになります )

posted by lightbox at 2009-09-22 19:37 | java : JSP | このブログの読者になる | 更新情報をチェックする

ディレクトリの権限を変更する Xcacls.vbs と Xcacls.exe

Xcacls.vbs が推奨ですが、危険なので以下のようなバッチファイルを作成します
( バッチファイルと XCACLS.vbs を同じディレクトリに置きます )

第一引数は、対象ディレクトリ( またはファイル ) で、/E を指定し忘れると、既存のエントリが消えてしまいます。
cscript.exe %~dp0XCACLS.vbs %1 /E %2 %3 %4 %5 %6 %7 %8 %9

2004/07/02
Extended Change Access Control List Tool (Xcacls)
※ Xcacls.vbs を使用して NTFS アクセス許可を変更する方法

2002/05/15( Windows2000 のリンクはなくなっていたので、WindowsXP のリンクに差し替え )
Windows XP Service Pack 2 サポート ツール
※ Xcacls.exe を使用して NTFS アクセス許可を変更する方法


関連する記事

VBS : バッチ処理でディレクトリ(ファイル)の権限を追加したり削除したりする方法
フォルダのセキュリティ設定


posted by lightbox at 2009-09-22 07:27 | 記録 | このブログの読者になる | 更新情報をチェックする

2009年09月21日


IE限定、ローカルファイル参照フィールドを使ったトリック

INPUT 要素を、type="file" で使用した場合、セキュリティの問題で、
初期値を表示する事ができませんが、その代替方法です。IE でしか使用
できないので、HTA で利用すると良いでしょう。

click メソッドで参照ダイアログが表示されますが、ダイアログが閉じられるまで、
実行が停止するので、入力値が変わらずに onChange が起動しなくても
表示側のデータも変更されます。
<input
   id="ref_file"
   type="file"
   style='display:none'
   onChange='
      document.getElementById("ref_file_front").value = this.value
   '
>
<input
   id="ref_file_front"
   type='text'
   style='width:300px;'
>
<input
   type="button"
   value="参照"
   onClick='
      document.getElementById("ref_file").click();
      if ( document.getElementById("ref_file").value != document.getElementById("ref_file_front").value ) {
         document.getElementById("ref_file_front").value = document.getElementById("ref_file").value;
      }
   '
>



タグ:IE
posted by lightbox at 2009-09-21 20:38 | JavaScript コンテンツ | このブログの読者になる | 更新情報をチェックする

Google Chrome をインストールしたら、英語表記になっていた場合の対処

特別な事は何もやってないのですが、IE7 からインストールしたら
英語で表示されていました。ざっとみて設定部分を見つけられなかったので、
設定ファイルを探しました。

C:\Documents and Settings\
ユーザー名\
Local Settings\
Application Data\
Google\
Chrome\User Data\

の下の Local State というファイル

"app_locale": "en"

となっていたので

"app_locale": "ja"

に変更しました。





タグ:トラブル
posted by lightbox at 2009-09-21 01:11 | 記録 | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり