2007年5月22日火曜日

リソースバンドル(ResourceBundle)をアップレットから使う

リソースバンドルをAppletから利用する方法です。便利なのでよく使います。

普通に昔のWindowsのINIファイルのように使ってます。
自分でファイルを開いたり、行を読んだりしなくてよいので便利です。
MyApplet.propertiesはアップレットのJARファイルと同じ場所においておきます。

http://javatec.blog105.fc2.com/blog-entry-56.htmlへ移動しました。

2007年5月21日月曜日

リソースバンドルをサーブレットから使う

リソースバンドルは便利なのでよく使います。
本来は、別の言語への対応に使ったりするのですが、そんなにインターナショナルな
コーディングをしている人がいるとは思えません。日本人で。欧州人なら分かりますが。

普通に昔のWindowsのINIファイルのように使ってます。
自分でファイルを開いたり、行を読んだりしなくてよいので便利です。
下の例ではサーブレットから読み込んでます。

MyServlet.properties は WEBページのWEB-INF/classes/の下においておきます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-52.htmlへ移動しました。

2007年5月16日水曜日

AppletのImageをクリップボードにコピーする

Appletで表示した図形や画像などをWindowsのクリップボードに貼り付けるサンプルです。
ただし、Appletからクリップボードのリソースにアクセスするには、Javaのポリシーファイルを
書き換える必要があります。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-51.htmlへ移動しました。

2007年5月15日火曜日

データベースのコミットとロールバックの制御

SQLを実行した結果によって、データベースの変更結果をコミットしたり、ロールバックしたり
するサンプルです。
以下のような一行のSQLの実行では意味がありませんが、複数行SQLを実行して、成功した場合だ
けデータベースを更新したい場合には以下のようにコミットとロールバックを使い分けます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-50.htmlへ移動しました。

データベースへJDBC接続(PostgreSQL)

データベースへJDBC接続するためのサンプルです。
以下の例ではデータベースはPostgreSQLを使用しています。
PostgreSQLのJDBCドライバは、RPMであれば postgresql-jdbc というRPM名で取得できます。
ソースファイルの場合はコンパイルするか、PostgreSQLのサイトにJARライブラリがダウンロードできるようになっています。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-49.htmlへ移動しました。

2007年5月11日金曜日

Appletをブラウザにあわせてリサイズする方法

Appletをブラウザにあわせてサイズを変更する方法は、簡単です。

Appletを埋め込むタグ InternetExplorerでは OBJECT タグ、Mozillaなどでは EMBED タグの WIDTH、HEIGHTを%指定します。

そうすると、Appletのサイズはブラウザに合わせて変更されます。

ただ、AppletでJSplitPaneやJLayeredPaneを使っていてウィンドウを複数表示している場合は、プログラムでウィンドウのリサイズや再配置を行ってやる必要があります。
例ではリサイズのイベントは以下で取得できますので、イベント発生したらupdateLayout()を実行します。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-48.htmlへ移動しました。

2007年5月10日木曜日

RSSの配信

RSSを読み込むには、RSS4jというライブラリを利用します。
ライブラリがダウンロードできるURLは
http://www.churchillobjects.com/c/13005.html
ですが、今現在立ち上がっていないようです。移動したのか落ちているのか。。。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-47.htmlへ移動しました。

2007年5月6日日曜日

javascriptからAppletの関数を実行する方法

まず、HTMLではAppletのタグの名前を指定します。例ではTestAppletとします。
MozillaなどはEMBEDタグを使用すると思いますが、NAMEをTestAppletとしてください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-46.htmlへ移動しました。

2007年5月5日土曜日

Appletからjavascriptを実行する方法

Appletからjavascriptを実行するサンプルです。
まず、必要なライブラリとして、plugin.jarが必要です。
特にダウンロードしてくる必要はなく、jreのlibの下にあります。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-45.htmlへ移動しました。

2007年4月27日金曜日

パスワードの復号化

前回の記事で暗号化したパスワードを復号化するサンプルです。
入力パスワードは16進数化されています。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-44.htmlへ移動しました。

パスワードの暗号化

パスワードの暗号化サンプルです。
特にライブラリを追加する必要はありません。
最後に16進数化してます。データベースに入れる場合はその方が短くなりますしね。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-43.htmlへ移動しました。

2007年4月25日水曜日

jdbc文字コード変換 EUC_JP->UNICODE

前回の記事でデータベースに登録できたものの、取り出すときにも変換しないと
今度は表示で文字化けしてしまいます。
以下の関数で元に戻してください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-42.htmlへ移動しました。

jdbc文字コード変換 UNICODE->EUC_JP

JDBCを使ってPostgreSQLなどにデータを登録しようとしたときに、
java.sql.SQLException: ERROR: character 0xe3809c of encoding "UNICODE" has no equivalent in "EUC_JP"
のようなエラーが表示されたことはないでしょうか?
チルダやハイフンなどがUNICODEとEUCの間でうまく変換されないのが原因のようです。
自分は以下の関数を使ってあらかじめUNICODEをMS932に変換して登録してます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-41.htmlへ移動しました。

2007年4月24日火曜日

RSSの読み込み

RSSを読み込むには、RSS4jというライブラリを利用します。
ライブラリがダウンロードできるURLは
http://www.churchillobjects.com/c/13005.html
ですが、今現在立ち上がっていないようです。移動したのか落ちているのか。。。
ただ、このライブラリはRSS2.0には対応していません。

2.0に対応しているライブラリは、koders(http://www.koders.com/)というサイトにあります。
ただ、ファイル一個ずつダウンロードして、自分でコンパイルしないと
いけないかもしれません。まとめてダウンロードする方法があるのかもしれませんが。
とりあえずRssParser.javaのダウンロード先は以下になります。
http://www.koders.com/java/fidB95969F8738787971C9A47C0F6AC2A50478D6361.aspx?s=cdef%3aparser
このページからたどって全ファイルをダウンロードしてください。
面倒ですが、自分で作るよりは早いです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-40.htmlへ移動しました。

生年月日から年齢の計算

年齢計算の関数サンプルです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-39.htmlへ移動しました。

FileFilterの使い方

FileFilterの使い方は以下のようになります。
したの例ではCSVファイルのFileFilterです。
いちいちクラスを作ってやらないといけません。
VCのように簡単になりませんかね。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-38.htmlへ移動しました。

2007年4月23日月曜日

XMLの読み込み(SAX)

SAX仕様でXMLを読み込むサンプルです。
DOMはとにかくメモリを食いますので、その点ではSAXを使ったほうがよさそうですが、SAXはプログラムが分かりにくくなるという欠点もあります。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-37.htmlへ移動しました。

URLConnection HTTP接続

JAVAで他のサーブレットやホームページにアクセスする方法は以下のサンプルを参照してください。
ホームページを読む場合は、InputStreamをBufferedReaderで読んでファイルに保存したりすればよいでしょう。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-36.htmlへ移動しました。

JButtonのサンプル

JButtonのサンプル集です。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-35.htmlへ移動しました。

イメージの回転

AffineTransformを使用してイメージを回転させるサンプルです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-34.htmlへ移動しました。

2007年4月10日火曜日

XMLの読み込み(DOM)

DOM仕様でXMLを読み込むパーサーのサンプルです。
XMLはいろいろなライブラリが出ていますので、それを使用するのもいいですが、
コアパッケージだけで実装する方法は以下になります。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-33.htmlへ移動しました。

2007年4月3日火曜日

PDFに表を描く

PDFに表を描画するサンプルです。
PDF用のライブラリはiText.jarが以下のHPから
http://www.lowagie.com/iText/docs.html#download
日本語フォントを使用するために、iTextAsian.jarを以下からダウンロードしてください。
http://prdownloads.sourceforge.net/itext/iTextAsian.jar?download

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-32.htmlへ移動しました。

2007年3月23日金曜日

PDFのグラフィックスを取得して絵を描く

PDFファイルのGraphicsを取得する方法です。
Graphicsが取得できれば、イメージ貼り付けたり線を描画したり出来ますね。
PDF用のライブラリはiText.jarが以下のHPから
http://www.lowagie.com/iText/docs.html#download
日本語フォントを使用するために、iTextAsian.jarを以下からダウンロードしてください。
http://prdownloads.sourceforge.net/itext/iTextAsian.jar?download

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-31.htmlへ移動しました。

2007年3月22日木曜日

EXCELファイルのセルのピクセル数

Excelファイルのセルのピクセル数を取得するサンプルです。
かなり強引なプログラムです。
ただこうやるとうまくいきますので、必要なピクセル数にちゃんとイメージが張り付きます。
getHeightInPointsという関数はあっても、getWidthInPointsという関数はないです。
なぜ?Excelというのはそういう世界なんでしょうか?

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-30.htmlへ移動しました。

2007年3月17日土曜日

図形の回転(AffineTransform)

X,Yを中心にして点を回転させるサンプルです。
したの例では90度反時計回りにまわしてます。
点が移動できれば、線でも何でも図形はまわせますね。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-29.htmlへ移動しました。

2007年3月15日木曜日

EXCELファイルにイメージを貼り付ける(POIFSFileSystem)

EXCELファイルにイメージを貼り付けるサンプルです。
こちらからライブラリをダウンロードします。
2.5.1と、3.0alphaがあって、3.0alphaの方を使用しないとイメージは扱えません。
HSSFClientAnchorでセルの位置とセルの数を指定します。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-28.htmlへ移動しました。

2007年3月13日火曜日

EXCELファイルの読み込み(POIFSFileSystem)

EXCELファイルをJavaで読み込むサンプルです。
こちらからライブラリをダウンロードします。
2.5.1と、3.0alphaがあって、何が違うかというと、自分が使っているのはイメージを貼り付けられることです。
イメージの貼り付けは別のページで紹介します。
下記は3.0alphaの文字を読み込むサンプルです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-27.htmlへ移動しました。

2007年3月11日日曜日

ボタンのサイズ変更

Appletのコンポーネントってサイズを自動的に決められてしまうのが一般的ですが、
たまにボタンを他のボタンと揃えたいときもありますよね。
Layoutの選択によっていろいろですが、ボタンの文字数によってボタンのサイズが決められてしまいます。
自分は以下の方法でサイズ調整してます。あまり余白を削りすぎると、今度は表示文字を削られてしまいますので要注意です。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-26.htmlへ移動しました。

2007年3月8日木曜日

添付ファイル付きメールの送信

メールに画像などを添付して、送信するサンプルを載せます。
JAFというライブラリを使用しますので、以下からダウンロードしてください。
http://java.sun.com/products/javabeans/jaf/downloads/index.html
添付ファイルはURLを指定することも可能です。
その場合はURLDataSourceを作成します。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-25.htmlへ移動しました。

2007年3月7日水曜日

イメージサイズ変更3

イメージサイズ変更で、もっとも遅いですが、きれいな方法です。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-24.htmlへ移動しました。

シングルトン

シングルトンクラスは、メモリの負担を軽減します。
メモリ上にオブジェクトが一つしか存在しなくなるので、例えば別のサーブレットから
そのオブジェクトを共有できるので、非常に便利です。ただし同期を常に意識しないと、
オブジェクトに変更があった場合、他のプログラムが影響を受けてしまいます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-23.htmlへ移動しました。

ファイルのダウンロード

クライアントにファイルのダウンロードさせるサンプルです。
ブラウザではいきなりファイルが開くのではなく、「保存」するか「開く」かを選択してもらうダイアログが表示されます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-22.htmlへ移動しました。

イメージサイズ変更2

イメージサイズ変更で、早さもきれいさも中間の方法です。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-21.htmlに移動しました。

2007年3月4日日曜日

イメージ減色処理

減色処理はJimiの ColorReducer を使用します。
Jimiのライブラリは以下からダウンロードしてください。
http://java.sun.com/products/jimi/

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-20.html

イメージファイル出力(TIFF)

TIFFファイルの出力は以下を参考にしてください。
ライブラリとしてJAIを使用します。以下からダウンロードしてください。
http://java.sun.com/javase/technologies/desktop/media/jai/
グラフィックスにお絵かきする部分は適当に編集してください。
圧縮の指定 encParam.setCompression を TIFFEncodeParam.COMPRESSION_PACKBITS
以外のもっと圧縮率の高いものを指定してもうまく動作しないです。
実装方法が悪いのかもしれませんが。。。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-19.htmlへ移動しました。

イメージファイル出力(BMP)

BMPファイルの出力は以下を参考にしてください。
ライブラリとしてJIMIを使用します。以下からダウンロードしてください。
http://java.sun.com/products/jimi/
グラフィックスにお絵かきする部分は適当に編集してください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-18.htmlに移動しました。

2007年3月3日土曜日

イメージファイル出力(PNG)

PNGファイルの出力は以下を参考にしてください。
ライブラリとしてJIMIを使用します。以下からダウンロードしてください。
http://java.sun.com/products/jimi/
グラフィックスにお絵かきする部分は適当に編集してください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-17.htmlへ移動しました。

イメージのサイズ変更1

イメージのサイズ変更にはいくつかの方法があります。
早いけど、荒くなる方法、きれいだけど、遅くなる方法。。。
3パターン公開しますので、イメージの種類や用途によって使い分けてください。

まずは、早いけど、荒く表示される方法です。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-16.htmlへ移動しました。

ファイルの圧縮(Zip)

基本的なZipファイルの圧縮サンプルです。
特に追加ライブラリは必要ありません。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-15.htmlへ移動しました。

2007年3月2日金曜日

ファイルの解凍(Lha)

Lhaファイルの解凍のサンプルを投稿します。
Lhaファイルを解凍するためのライブラリは、
http://homepage1.nifty.com/dangan/Content/Program/Java/jLHA/LhaLibrary.html
からダウンロードします。
java.util.zipに似ているので、分かりやすいです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-14.htmlに移動しました。

2007年3月1日木曜日

ファイルの解凍(tar+gz)

ファイルの解凍のサンプルを投稿します。
今回は tar と gz の組み合わせで圧縮されたファイルの解凍です。
Linuxユーザでは一般的ですね。
TarInputStreamは jakarta-ant のライブラリを使用しますので、
Jakartaサイトからダウンロードしてください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-13.htmlに移動しました。

LittleEndian対応の出力ストリーム

JavaはBigEndianですが、LittleEndianのファイルを出力する場面がたまにあります。
Javaはあれだけライブラリがあっても、バイト操作関係は貧弱ですよね。
LittleEndianの出力は以下を参考にしてください。
入力ストリームのほうはIntegerの場合を書きましたが、出力はLongとDoubleです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-12.htmlに移動しました。

LittleEndianバイトオーダー対応の入力ストリーム

JavaはBigEndianですが、まれにLittleEndianのファイルを入出力しなければならない場合があります。
Javaはバイト操作関係が非常にやりづらいと思うのは私だけでしょうか?
LittleEndianの入力ストリームは以下を参考にしてください。
intの場合だけしか書いてありません。ここまで書けばshortやdoubleも大丈夫ですよね。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-11.htmlに移動しました。

2007年2月28日水曜日

Appletからデフォルトのプリンター以外に印刷

Appletからの印刷は以下を参考にしてください。

印刷のポイントは、Javaのバグだと思いますが、デフォルトのプリンターを変更できるダイアログと、ページフォーマットを変更できるダイアログとが違うことです。
3行目、pj.pageDialog(pf)でページフォーマットを変更します。そこでプリンターを変更してもデフォルトに印刷されます。
7行目、pj.printDialog() でプリンタを変更します。ここでページフォーマットを変更しても変わりません。。。早く治して欲しいですね。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-10.htmlに移動しました。

ツリーにチェックボックスをつける


チェックボックスをツリーにつけるには、以下を参照してください。

TreeCellRendererを継承して自分のレンダラを作成します。

チェックのON/OFFのところは適当に実装してください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-9.htmlに移動しました。

2007年2月27日火曜日

ポリゴンの重心を求める

ポリゴンの重心は以下のように計算します。
ポリゴンを三角形に分割して、その三角形について計算してきます。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-8.htmlに移動しました。

ポリゴンの面積

ポリゴンの面積は以下のようにもとめます。
面積が正なら右回り、負の値なら左回りのポリゴンです。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-7.htmlに移動しました。

2007年2月26日月曜日

アップレットに小さい子ウィンドウ


アップレットに小さい子ウィンドウを貼り付けるには以下のように実装します。
参考にしてください。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-6.htmlに移動しました。

2007年2月25日日曜日

アップレットの子ウィンドウ


画像のようなJInternalFrameを使った子ウィンドウは以下のように作ります。

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-5.htmlに移動しました。

2007年2月24日土曜日

SSLを使ったメール受信

SSLを使用してのPOPメール受信は以下を参考にしてください。

JavaMail1.4をダウンロードして使用してください。
http://java.sun.com/products/javamail/index.jsp
使用したライブラリは mailapi.jar と pop3.jar です。


サンプルはhttp://javatec.blog105.fc2.com/blog-entry-4.htmlに移動しました。

2007年2月23日金曜日

メールの受信(POP)

メールの受信は以下のサンプルを参考にしてください。
JavaMail1.3ベースです。ライブラリは以下のURLからダウンロードできます。
http://java.sun.com/products/javamail/index.jsp
JAFでダウンロード可能な activation.jar が追加ライブラリとして必要です。
http://java.sun.com/products/javabeans/jaf/downloads/index.html

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-3.htmlに移動しました。

2007年2月22日木曜日

メール送信のサンプル

メール送信のサンプルです。
メールのライブラリは以下からダウンロードします。
http://java.sun.com/products/javamail/downloads/index.html

サンプルはhttp://javatec.blog105.fc2.com/blog-entry-2.htmlに移動しました。

Javaのサンプル集を投稿します。

Javaのサンプル集を投稿します。よろしくです。みんなで参考にしてください。