yuu_nkjm blog
2008-12-16(Tue) [長年日記] 編集
[Java][Scrap] JComponentのpaintとrepaint
描画そのものは(文字の描画も含め)、JComponentまたはJPanelをextendsした自作クラスのpublic void paintComponent(Graphics g)メソッドに書きます。描画の経時変化(アニメーション)は、javax.swing.Timerクラスを作り、その actionPerforemed()メソッドの中でpaintComponent()メソッドが使っているパラメータの値を適宜変えて、そのパネルオブジェクトのrepaint()をコールします。 質問があいまいなので何とも言えないけど 同じような質問が定期的にあるので推測で回答します。 まず JComponentのJavaDoc、repaint には下記のようにかかれてます。 ------------------------------------------ コンポーネントが表示されている場合に、 指定された領域をダーティーリージョンリストに追加します。 コンポーネントは、現在保留されているすべてのイベントが ディスパッチされたあとに再描画されます。 ------------------------------------------ つまりrepaintは再描画処理の予約であり再描画処理そのものではありません。
次状態の計算,描画用データの更新,repaintの呼び出しをどう組み合わせれば良いのか,まだ勘がはたらかない.
2008-12-15(Mon) [長年日記] 編集
[Java][技術書] 結城 浩 - 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編

「結城 浩- 増補改訂版Java言語で学ぶデザインパターン入門」が良かったので,マルチスレッド編も買ってみた.マルチスレッドプログラミングの経験が無い人でも読みやすかった(7章までしか読んでないけど).また,Java上でのメモリの扱われ方,Java上での同期処理などについて書かれていて,その部分も役に立った.デザインパターンと銘打っているが,そんなにパターン感はなかった.
7章までを読んだところでは,「シングルスレッドで動く二つのプログラムを作成し,同期処理をするための層を間に挟む構成」とするのが基本のようだ.同期処理を間の層に押し込めば,他の二つのプログラムはマルチスレッドを意識しなくて良くなる.
2008-10-12(Sun) [長年日記] 編集
[R言語][Eclipse] EclipseをRの開発環境として使うプラグイン
はじめに
EclipseをRの開発環境として使うPlugin(StatET for R)のインストールと使用に関するログです.StatET for RはEclipse上でRtermを呼び出し,そこにコードを流し込むという形式で動いているようです.
以下のログは,Windows XP(SP3),Eclipse(3.4 Pleiadesパッケージ),R(2.7.1),StatET for R (0.7.0.b)に関するものです.Pleiades によりメニューが日本語化されているので,英語版や他の日本語化パッケージを使っている人とはメニューが異なります.
インストール
メニューより「Eclipseのヘルプ>ソフトウェアの更新>使用可能なソフトウェア」を選択しインストールメニューを開きます.続いて「サイトの追加」を選択し,「http://download.walware.de/eclipse-3.4」を入力します.インストールをクリックすると,plug-inが自動でインストールされます.指示に従い再起動します.
Rプロジェクトの作成とRファイルの作成
メニューより,ファイル,新規作成と選ぶだけです.今のところRプロジェクトにするメリットはあまりなさそうです.
Rの実行

メニューより「実行→実行構成→Rコンソール」を選択し,Rコンソールの実行の設定をします.Windowsに正しくR_HOMEが設定されている場合は,特に設定をしなくても,ここからRコンソールが実行できます.Rコンソールが起動しない場合は,「メニュー→ウィンドウ→設定→StatET→R相互作用→R Environment」よりR_HOMEを設定すると良いようです.
【重要】作成したRコンソールを実行してから,エディタ上でCtrl+R,Ctrl+Rと入力するとRが実行されます.

RCtrl+R,Ctrl+RとしてRを実行した後は,R Consoleの下部にあるウィンドウからインタラクティブに操作できます.
関連ページ
- WalWare - Homepage
StatET for Rのオフィシャルのサイト.インストールの方法が書いてあります. - RをEclipseで使うの巻き
Eclipse(3.2日本語版),R(2.4.0日本語版)での導入例.スクリーンショットも出ていて親切.
備考
Javaから直接Rを利用するにはrJava - Low-level R to Java interface - RForge.netというライブラリがあるようです.行列の計算なんかはRに任せて,制御構造は慣れたJavaで書きたい場合,このライブラリは便利そうなのですが,試していません.