2008/3/26 水曜日 by kouichi
ext.jsではResizableを使うとオブジェクトのサイズを変更できます。
もちろん、gwt-extにも用意されています。
簡単に書くとこのような感じです。
ResizableConfig config = new ResizableConfig();
Resizable resizable = new Resizable(new Panel(),config);
基本は、Resizableへリサイズするコンポーネントを乗せるだけです。
ResizableConfigで設定をいろいろ行うことができます。
setMinWidth、setMinHeightではリサイズの最小値を設定できたり、setAnimateでサイズを変更したときにアニメーションをつけることができます。
ResizableConfig#setDraggableはドラッグ&ドロップオブジェクトになるのですが、リサイズした後にドラッグ&ドロップすると、座標がおかしくなる不具合があるようなので、こちらのメソッドを使わずにDDを使って、
Panel panel = new Panel();
DD dd = new DD(panel);
ResizableConfig config = new ResizableConfig();
Resizable resizable = new Resizable(panel,config);
のようにしたほうが良いです。
Posted in GWT | No Comments
2008/3/25 火曜日 by kouichi
一次関数の式ですが、久々に目にしました。
2点(x1,y1)、(x2,y2)の傾きaは(y2-y1)/(x2-x1)で求められて、bはy1-a*x1で求められます。
HTML5.0からcanvasというタグを使えて、画像処理や線、矩形などがかけたりします。
今はOperaやFireFoxしか使えないのですが、

こんなことができて、結構楽しいです。
clearRectメソッドがいまいちだったので、一次関数を使って消しゴムちっくなものを作ってみました。
Posted in その他 | 1 Comment
2008/3/21 金曜日 by kouichi
こちらの記事にgoogleが翻訳APIを公開したと書いてあったので、早速見てみました。
詳しくはgoogleのブログを参考に。
ブログに書かれているサンプルから、必要なところを抜き出してみると、
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load("language", "1");
function submitChange() {
var value = document.getElementById('txt').value;
google.language.translate(value, 'en', 'ja', translateResult);
return false;
}
function translateResult(result) {
var resultBody = document.getElementById("result");
resultBody.innerHTML = result.translation;
}
</script>
</head>
<body>
<input id="txt" type="text" value="hello world"/>
<input type="button" value="翻訳" onclick="submitChange();"/>
<div id="result"></div>
</body>
こんな感じです。
google.load("language", "1");
でAPIを初期化し、
google.language.translate(value, 'en', 'ja', translateResult);
で翻訳。
パラメータは
value:翻訳する文字列
en:何語から翻訳するか
ja:何語に翻訳するか
translateResult:結果取得コールバック
です。
function translateResult(result)
のコールバックで
result.translation
に内容が入っていればそれが翻訳結果になります。
素敵ですね。早速組み込もうと思います。
Posted in その他 | 2 Comments