Java

AbstractActionの名前を変更する

putValueのキーにAction.NAMEを指定する。 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.…

Sequencerの使い方

JavaでMIDIを扱う方法の解説。MacOSX(10.5.8), JDK1.5にて確認。 主に使用するクラス Sequencerを使って音を再生するサンプル SMFファイルからSequencerを生成する Sequence内の情報を所得 主に使用するクラス Sequencer 曲の再生を管理するクラス Sequence …

鍵盤を描く

何も考えずにやったら歯に海苔が付いたみたいになった。 public void paint(Graphics g) { super.paint(g); int w = getWidth() / 7; for(int i=0; i<7; i++) { g.drawLine(w * i, 0, w * i, getHeight()); if(BLACK_KEY[i]) g.fillRect(w * i + w / 2, 0, w…

JFrameの内側のコンポーネントからサイズを決める場合

JFrameのsetSizeは、閉じるボタン等含めたフレーム自体の大きさを設定する。 import javax.swing.JFrame; import javax.swing.SwingUtilities; public class Hoge { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { …

Sequencerで再生しながらMIDIMessageを追加するときの注意

以下、import javax.sound.midi.*; 結論:Sequence.createTrackで所得したTrackオブジェクトにはデフォルトで終端記号が一つ含まれている。 これは、Trackに新しいメッセージを追加されたときに適宜伸びるので終了前に更新してしまえば止まらないが、一旦終…

Wekaの簡単な使い方

オープンソースのデータマイングライブラリWekaを使って予測というか分類というかまあClassifierを作ろうという話。 準備 Wekaを入れる 学習データを用意する 実装 分類機を作る 学習データを作る (必要なら)評価機を作って性能を確かめる 分類したい事例…

知らなかった文法その他

結構あったのでメモ static import importの後にstaticをつけるとstaticメンバをクラス名抜きで呼び出せる。 import static java.lang.Math.sqrt; public class Hoge{ public void foo(){ System.out.println(sqrt(9)); } } なかなか便利。特にimport static…