プログラミングの最近のブログ記事

前回のエントリで作成したサンプルを応用して、デスクトップからブラウザ上のWYSIWYGエディタに画像をドラッグ&ドロップできる Javascriptのサンプルを作成してみました。

サンプル

前回同様、Firefox 3.6 でのみ動作可能です。

 image

WYSIWYGエディタ(リッチテキスト編集)の実現方法は、とみぞーノートさんを参考にさせて頂きました。ありがとうございます。

HTML5のドラッグ&ドロップAPIとファイルAPIを利用して、デスクトップからブラウザに画像をドラッグ&ドロップできるJavascriptのサンプルを作成してみました。

サンプル

ただし現在の所、HTML5のFileReaderオブジェクトに対応しているメジャーなブラウザは、Firefox 3.6 位のようです。

dndtest

Mozilla Developer Center のサンプルコードを元に作成しました。

iText の表に斜線を引く

帳票印刷等で、表のセルに斜め線を入れたいことがあります。
PdfPTable や PdfPCell には斜線を引くメソッドがありませんが、
PdfContentByte で、直接、描画する方法が考えられます。

座標の原点は左下で、A4用紙の幅は595ユニット、高さは842ユニットです。
なので例えば、上下左右に30ユニットずつ余白をとって作成した表の、左上隅のセルに斜線を入れたい場合には次のようにします。(セルの高さが20ユニット、セルの列幅が、表の幅の1/3の場合の例。)

float  w = (595 - 60)/3;
float  h = 20;
float px = 30;
float py = 842 - 30;
PdfContentByte cb = pdfwriter.getDirectContent();
cb.moveTo(px, py);
cb.lineTo(px+w, py-h);
cb.stroke();

サンプルコード

tebletest

iText 5.0 で iTextAsian.jar を使う

iText 5.0.0 では、パッケージ名が com.lowagie から com.itextpdf に変更されています。そのため、iTextAsian.jar をそのまま使うことができません。

以下のように jar を解いて、パッケージ名を変更したのち、また jar に固めれば OK です。

> jar xvf iTextAsian.jar
> cd com
> ren lowagie itextpdf
> cd ..
> jar cvf iTextAsian.jar com

Windows 7 では、タイトルバーの左上のアイコンのサイズは従来と同じ 16x16 ですが、タスクバーに表示されるアイコンは、32x32 です。

Java の Swing アプリケーションでは、JFrame に setIconImage することでアイコンを設定しますが、これまでの Windows 用に 16x16 のアイコンを設定していると、Windows 7 では、タスクバーに表示されるアイコンがギザギザになってしまいます。

Windows 7 のタスクバーにも綺麗に表示されるようにするには、32x32 のアイコンを setIconImage すればOKです。タイトルバーには、自動的に 16x16 に縮小して表示されます。

final JFrame frame = new JFrame("アイコンテスト");
java.net.URL iconUrl = 
  getClass().getClassLoader().getResource("myPackage/images/32x32のアイコン.png");
frame.setIconImage(new ImageIcon(iconUrl).getImage());

JavaDBの使い方

| コメント(4)

JavaDBを使うと、Javaアプリケーションにデータベースを埋め込むことができます。

Javaでスタンドアローンのデスクトップアプリ等を書くときに、
別途PostgreSQLやMySQLを利用する必要がなく、便利です。

JavaDBでは、テーブル名やフィールド名に漢字を使うこともできます。

サンプルコード

<実行結果>
>java -classpath derby.jar;. JavaDBTest
2008年12月13日に出席したのは、
三鷹 太郎さん
吉祥寺 花子さん
です。

プログラムで祝祭日を扱う

カレンダーに関連するプログラムを書いていると、
祝祭日を機械的に割り出したくなることがあります。

日付を入力すると、その日が祝日だった場合、祝日名を返すプログラムを
Javaで書いてみました。

ソースコード

<実行結果>
% java HolidaySample
2008年3月20日(木)は、春分の日です。
2008年3月21日(金)は、平日です。
2008年5月3日(土)は、憲法記念日です。
2008年5月4日(日)は、みどりの日です。
2008年5月5日(月)は、こどもの日です。
2008年5月6日(火)は、振替休日です。
2008年5月7日(水)は、平日です。
2009年9月15日(火)は、平日です。
2009年9月21日(月)は、敬老の日です。
2009年9月22日(火)は、国民の休日です。
2009年9月23日(水)は、秋分の日です。

以前、ソースコードの公開されていた、webcal2のロジックを参考にさせて頂きました。
ありがとうございます。

Qステア PWM制御実験

| コメント(12)

Qステアを改造して、プロポーショナル・システム化しようとしています。

オリジナルのQステアは、前後左右の動きが全てON/OFFスイッチの所謂「トイラジ」なので、
運転の面白みがいまひとつです。

そこで、ラジコン用のプロポで、
ステアリング切れ角に応じて前輪の舵角が変化し、
スロットル量に応じてスピードが変化するように改造しようと思ったわけです。

今回は計画の第2段階として、PICでPWM信号を作り出して実験してみました。

qsteer_pwm_ex.jpg 

Qステア用自作iアプリ

| コメント(16)
赤外線の解析結果をもとに、 Qステア操縦用のiアプリを自作してみました。
私にとっては、純正のiアプリより操作し易いです。