トップページ | 2007年11月 »

2007年10月

[Script]switch文で分岐する場合の注意事項

 JavaScriptの変数自体に型は無く、格納されている値によって型が決まります。

 比較演算子を使って比較する場合は、自動的に型変換を行って比較するため、1と"1"の比較結果はtrueになりますが、switch文を使う場合は、自動的な型変換が行われないため、そこに留意してプログラムを組む必要があります。

 例えば、Cookieやフォームから読み込んだ値を整数として使用したい変数valueに格納し、switch文を使って分岐する場合は、明示的に型変換しておく方が良いでしょう。

 以下に、簡単な例を示します。

  switch( parseInt(value) ) {
    case 0:
        (処理)
        break;
    case 1:
        (処理)
        break;
    default:
        (処理)
  }

| | コメント (0) | トラックバック (0)

[.Net]カラーダイアログにカスタムカラーを設定するには?

 ドキュメントには、Int32のARGBをセットするように書いてありますが、BGRとしてセットしないと正しく設定されません。

 ただし、選択された色の戻り値は、Int32のARGBになっていますので、注意が必要です。

サンプルソースコード CustomColorSample.txt (1.0K)

| | コメント (0) | トラックバック (0)

[Java]Swingコントロールに対して安全に変更を行うには?

 JavaのAPIドキュメントにも書かれていますが、Swingコントロールは、スレッドに対して安全ではありません。

 従って、プログラムからSwingコントロールに対してデータの変更(例えば、JListに対してデータを設定したり、選択を変更したりする等)を行う場合は、SwingUtilities.invokeLaterを使用して、保留中の処理が無くなってからデータの変更をかけるようにします。

 以下にJListで作成したlistBoxの値valueを選択する場合の具体例を示します。

  Runnable doSelectList = new Runnable() {
    public void run() {
      listBox.setSelectedValue(value, true);
    }
  };
  SwingUtilities.invokeLater(doSelectList);

| | コメント (0) | トラックバック (0)

[Java]ローカル環境でコードベース指定したAppletからドキュメントベースに配置したファイルへアクセスするには?

 Appletをコードベース指定してローカル環境で動作させると、コードベースディレクトリ以下のファイル以外は、セキュリティによってアクセスできなるなる。従って、ドキュメントベースに配置したファイルへもアクセスできない。

 この問題については、ローカル環境でWebサーバを動かし、Webサーバ経由で動作させることで解決する。

 Webサーバルートディレクトリから開発中ソースを格納したディレクトリを参照する方法だが、開発中ソースを格納したディレクトリをWebサーバルートディレクトリへ移動・複写せずとも、開発中ソースを格納したディレクトリへ仮想ディレクトリを作成すことで、移動・複写すること無くアクセスできるようになる。(IISの場合)

 なお、仮想ディレクトリ開発ソースを格納したディレクトリは、プロパティ「ネットワーク上でこのファイルを共有する」をマークして、ネットワークからのアクセスを許可しておく必要がある。この操作を行わないと、セキュリティによってディレクトリにアクセスできない。

| | コメント (0) | トラックバック (0)

[Java]Jarファイルに格納したApplet間で通信を行う場合の注意事項

それぞれのAppletは同一のJarファイルに格納し、HTML記述時に同一のコードベースを指す様に記述する必要があります。

たとえ同じJarファイルでもコードベースが異なる場合は、Applet間の通信はできません。

| | コメント (0) | トラックバック (0)

[.Net]WebBrowserクラスでAppletを動かすには?

WebBrowserクラスでAppletを動かすには、HTML記述する際に、APPLETエレメントでなく、OBJECTエレメントとして記述する。

| | コメント (0) | トラックバック (0)

トップページ | 2007年11月 »