プログラミング

家計簿(9)

いくつかのタブを追加 見た目の変更 てか,レイアウトマネージャ使えねえ.ボタンを上から縦に,しかも横幅をそろえて,かつ縦には伸びないっていうのが,なんで簡単にできねえんだよorz

家計簿(8)

今日もちょっとだけ開発. 今日開発したのは,こんな感じ. deleteキーによる,費目の削除 費目ソートのバグフィックス 振り替えなど収支の発生しない項目のためのチェックボックスを用意 分類の編集機能(画面だけ) チョコチョコと作ってきたけど,少しず…

家計簿(7)

少しだけ開発. 項目テーブルと,銀行テーブルの位置を変更. JFreeChartの実験として,項目別支出グラフを表示する機能を追加. ゲームばっかりやってて,ぜんぜん先に進まないorz

家計簿(6)

とりあえず,今のところの実装はこんな感じ. ・費目の入力 ・費目リストの表示(日にち,一部期間指定可能) ・費目リストのソート(コメント以外の各項目ごとにソートが可能) ・口座残高の計算 ・csvファイルへの保存 す,少ねえ.orz

家計簿(5)

だめだったorz とりあえず,最低限のモノは動き出したけど,まだまだテストなどが甘い. テストと,必要な機能を盛り込んだら,公開したいなあと考え中. もっとも,少し頭の悪い実装をしているので,データ量が多くなったら... 一応,この家計簿の売りを…

家計簿(4)

今後のことを考えて,ウォーターフォールでがんばろうと思ってたけど,仕様が膨らみすぎて,一人でどうにかなる問題じゃなくなってきた.てか,ただでさえ時間がないのにヤバイ.ということで,逃げるようだけど,単純なものからスパイラルに開発していく方…

家計簿(2)

基本的なTOのインプリが完了. あとは,セッタの格納条件を付加するだけだけど,量が多いorzこのあとは,DAOと,ロジックを付ければ,とりあえず,最初のプロトタイプは完成か.

家計簿(2)

今日は,若干のテーブルの追加&変更と,TOオブジェクトのインターフェイスの決定. TOだから,セッタとゲッタしかないんだけど,コメントを書くのが帳面どうだった. 次は,実際のTOのインプリ.

家計簿

同期の一人がエクセルで家計簿を作る実験をしたという話を聞きつけ,自分も久しぶりにやってみようと思い立ちました.で,先週末は,そのテーブル設計をしてました. で,一言. やべ,家計簿って何気に奥が深い. ちょろちょろっとテーブルを作ってコーディ…

ImageBrowser

URLを指定すると,そこに表示されている画像のみを表示するというソフトを作ってみた.オプションで,そこから辿れるリンク先にある画像も可能な限り表示することが可能. 現在適当にデバッグ中.

HTMLParserライブラリの勉強中

http://htmlparser.sourceforge.net/ お題その1: Parserオブジェクトを使ってみる プログラム import org.htmlparser.*; import org.htmlparser.util.*; public class ParserTest { public static void main( String[] args ) throws ParserException { //…

マウスイベントの扱い

マウスイベントを自力で子コンポーネントに対して配送したかったのですが、できない。 Container.getMouseEventTargetが、配送先コンポーネントを決定しているところまでは探り当てた。だけどこのメソッド、プライベート宣言されてやがる。おかげでオーバー…

getPreferredSizeについて

相変わらずこの問題をちょこちょこっと調べています。 問題を整理してみると… JScrollPane.getPreferredSize()が、期待する値を返さない場合があるということです。getPreferredSize()は、そのコンポーネントが表示されるために必要な表示領域の大きさを返し…

packの怪

packを繰り返し行うと、なぜか1ドットづつ増えたり減ったりする。 なんで〜 と思ったら、丸め誤差の関係だったらしい…orz どうするかな。

getPreferredSizeの問題点

いろいろ考えた結果、getPreferredSizeが諸悪の根源のような気がしてきた。 通常、getPreferredSizeの値を見て、レイアウトマネージャーなり、なんなりが、そのコンポーネントのサイズを決定します。でも、どの程度割り当てられる可能性があるのか→じゃあ、…

JFrame.pack〜

JFrameにてpackしたときに、ウィンドウサイズが大きすぎると、ウィンドウがタスクバーのしたに潜りこんでしまう… 仕方ないので、こういう回避をすることに。 final JFrame test = new JFrame(){ public Dimension getPreferredSize(){ Dimension d = super.g…

JScrollPaneとWindow.pack

JScrollPaneの子供のサイズを変更する(setPreferredSize)。 そうすると、内容に応じて、スクロールバーが出たり消えたり。ここまでは良い。 次に、Window.packする。すると… スクロールバー分だけウィンドウが大きく表示されてしまう。 なんとかならんかな…

P2Pファイル交換ソフトを作ってみる(2)

第一回:http://d.hatena.ne.jp/susumu/20041205#p1 前回から3週間近く経過してしまいました。とにかく続きです。出来るところから、少しずつ設計を考えていきます。 開発の流れですが、まず1対1のP2Pを実装し、次に多対多のP2Pを考えていきます。使用す…

P2Pファイル交換ソフトを作ってみる(1)

恥ずかしながら、真面目にソケットを叩いてネットワークプログラミングを行ったことは、生涯で1度しかありません。普段は、通信用ライブラリを使って楽をしていました。いま、修論の合間を縫いながら、P2Pファイル交換ソフトを書こうとしているのですが…

3次元簡易CAD

このレンダリングエンジンは、座標演算から画面描画までフルスクラッチで、しかもピュアJavaよろしくで書いています(だからライン書くのも一苦労)。チューニングのおかげで結構速く動いています。 先週末に先輩からこれを.Netに移植したらと言われ、そのと…

WiCoCoを弄ってみた

http://www.wicoco.org/cgi-bin/wiki/wiki.cgi Javaで非矩形ウィンドウを表示するライブラリです。ブツはここからダウンロードできます。 現実逃避的に遊んでみました。 とりあえず、Transparentableのテスト。コードは次のような感じ。 import java.awt.*; …

3DCADモドキ

いま、3DCADもどきを作ってます(画面参照)。まだワイヤーフレームを表示する程度のすげーショボイバージョンですが、少しずつ機能を付け足しているという段階です。 いちおう、Javaで、自前で3Dレンダリングを行ってます。Java3D/2Dを一切使ってな…

BufferedImageの高速化

BufferedImage.setRGBが遅くて遅くて使い物にならないと嘆いていたわけすが、ネットを散策してたら、 BufferedImage img = new BufferedImage( width, height, BufferedImage.TYPE_INT_ARGB ); int[] pixels = ( (DataBufferInt)img.getRaster().getDataBuff…

wemaの改造

ちょっと変えればいけるだろうと踏んでたら、思ったよりもめんどくさそう。とりあえず、やらなきゃいけないのは、 ディレクトリによりページを表現せずに、ページ用のファイルを用意する。 ディレクトリの廃止により、付箋のファイルをフラットにする 付箋内…

アルゴリズムコンテスト

http://www.aso.ecei.tohoku.ac.jp/alcon2004/ 複数の写真から、パノラマ写真を作るアルゴリズムを競い合うコンテストらしいです。面白そうなので、今日、参加する決意をしました。 2枚の写真をx、yだけ移動させて重ね合わせるもの、回転も考慮するもの、…

FindBugsを使う

http://findbugs.sourceforge.net/index.html にある、FindBugsというツールを使ってみました。そしたら、summaryのトップで、 Type Checked Count Bugs Percentage Outer Classes 118 131 111.02% Inner Classes 34 24 70.59% Interfaces 31 0 0.00% Total …

実装してみた

とりあえず、実装してみました。が、検証はしてません。使用した言語はJavaで、掛かった時間は問題A、Bでそれぞれ10分、問題Cで30分、問題Dで1時間ほどです。あらかじめ方針を考えていたので、その分の時間を足せば、本番だったらこれで時間切れで…

愛媛大会WEB予選

http://ccserv.adm.ehime-u.ac.jp/ICPC/jp/ いつの間にか、予選が開催されていたんですね。コーチとして名前を貸していたチームは、残念ながら負けてしまったそうです。残念。M1が一人いたので、来年があるとは言えませんでした。 で、いまさっき問題を眺…

Javaの性能調査・その1

100万頂点、200万ラインセグメントを扱うにはどれくらいのメモリ量が必要か調べる。Point2D.Doubleを使って、100万頂点は30Mbyte、Line2D.Doubleを使って、200万ラインセグメントは90Mbyteなので、トータルで110Mbyteほど必要…(なお、オブジェクトは配列に…

デッドロック

やっぱり、リファクタリングをするなら、きちんとテストコードを書いておこう。 ここ2日間ぐらいかけて、研究用ツールの作成をしていました。と言っても、プログラム内のTODOタスクを一つずつこなしていっただけです。スレッドセーフ化したり、実行時例外を…