雇われるだけの人生から目指せ独立、社会人2年目なゲーム脳SEのブログ。更新頻度=週2~3回。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
前回より大変長らくお待たせしましたが、諸事情・・・おもに作者のやる気不足とかSwingの面倒さについていけなくなった等の理由で・・・ついに終わってしまいました!
まずは完成品をご覧ください。
ださっ!!!
GridLayoutというレイアウトを使ってみてボタンとリストを並べてみたのですが、これはひどいです。仕方がないのでGridBagLayoutというよくわからないレイアウトを使ってみます。
おお、だいぶスマートになりましたね。
もっともこれを実現するためだけに1時間以上APIリファレンスと格闘するはめになりました。どうしてこう、SwingのAPIは複雑怪奇なんでしょう・・・いやWin32APIに比べれば確かにマシだとは思いますけど。
こちらがAdd new Notebookボタンを押したときに動くアクションリスナーです。匿名の内部クラスとして実装するのがSwing(といいますかVisual Editor)のしきたりみたいなのですが、このアクションリスナーを作っている最中にまた相当イライラさせられました。
アクションリスナーの中身は1行、コントローラクラスを呼び出すだけにしたかったのですが・・・そうすれば同じ操作を画面の別の場所で行うとしても、1行書くだけですみます。アクションリスナーの中身で操作を行ってしまうと、別の場所に移植する際にすべてコピペすることになってしまい後から困ります。
愚痴はさておきまして。
コントローラやエンティティの実装も行いまして、実際に動作させてみました。
Add new Notebookボタンを押すと新しい"abesi"という名前のノートブックがノートブックリストに追加されます!やった!
と、ここで私の忍耐力が限界を迎えてしまいました。もうこれ以上こんな設計思想もインターフェースもわからないAPIを使って綿密に設計するなんてできません。綺麗に設計するためには、本を買ってきてSwingを勉強し直す必要があるみたいです。
一応、ここまでの完成品をまとめたものをアップしておきます。
・Eclipse Workspace&Source
→OreNotebook.zip
・UML
→OreNotebook.jude
今回の企画の反省点。
まずは完成品をご覧ください。
ださっ!!!
GridLayoutというレイアウトを使ってみてボタンとリストを並べてみたのですが、これはひどいです。仕方がないのでGridBagLayoutというよくわからないレイアウトを使ってみます。
おお、だいぶスマートになりましたね。
もっともこれを実現するためだけに1時間以上APIリファレンスと格闘するはめになりました。どうしてこう、SwingのAPIは複雑怪奇なんでしょう・・・いやWin32APIに比べれば確かにマシだとは思いますけど。
こちらがAdd new Notebookボタンを押したときに動くアクションリスナーです。匿名の内部クラスとして実装するのがSwing(といいますかVisual Editor)のしきたりみたいなのですが、このアクションリスナーを作っている最中にまた相当イライラさせられました。
- パネルやウィンドウ自身を指し示めそうと思ってthisと使うとアクションリスナークラスの内部なのでアクションリスナー自身が返ってくる
- アクションリスナーの外部の変数をアクションリスナー内部で使うためには外でfinal宣言した変数を作らなければならない
- getTopLevelAncestor()メソッドを使えば自分の親(すなわちOreNotebook本体)のオブジェクトにアクセスできるのですが、そもそもコンポーネントのGetterメソッドがすべてprivateになる(Visual Editorのしきたりみたいです)ので、親にアクセスできたところで何も出来ない。ひょっとしたら無理矢理publicに書き換えるのが正解なのかもしれませんけど。
アクションリスナーの中身は1行、コントローラクラスを呼び出すだけにしたかったのですが・・・そうすれば同じ操作を画面の別の場所で行うとしても、1行書くだけですみます。アクションリスナーの中身で操作を行ってしまうと、別の場所に移植する際にすべてコピペすることになってしまい後から困ります。
愚痴はさておきまして。
コントローラやエンティティの実装も行いまして、実際に動作させてみました。
Add new Notebookボタンを押すと新しい"abesi"という名前のノートブックがノートブックリストに追加されます!やった!
と、ここで私の忍耐力が限界を迎えてしまいました。もうこれ以上こんな設計思想もインターフェースもわからないAPIを使って綿密に設計するなんてできません。綺麗に設計するためには、本を買ってきてSwingを勉強し直す必要があるみたいです。
一応、ここまでの完成品をまとめたものをアップしておきます。
・Eclipse Workspace&Source
→OreNotebook.zip
・UML
→OreNotebook.jude
今回の企画の反省点。
- UMLを作ることを重視しすぎた。設計だけなんてやっぱり楽しくないし、全くゼロの状態で設計だけを延々と進めると、実際に実装したときとUML図の乖離が大きくなり、結局UMLを修正しなくてはならなくなる、実装あってUMLありき。少し書いたらすぐ作る、すぐ作ったらまた設計。
- Swingなどというよくわからないものを使おうとしてしまった。もっと熟知してから進めるべきだった・・・
- 途中でGoogle App Engineという別の楽しそうなおもちゃを見つけてしまった。
PR
この記事にコメントする
カレンダー
10 | 2024/11 | 12 |
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
ブログ内検索
最新記事
(10/12)
(10/09)
(10/09)
(10/08)
(10/05)
カテゴリー
プロフィール
HN:
akisute
性別:
男性
職業:
システムエンジニア
趣味:
ゲーム・東方・ニコ動。あと散歩。
推奨環境
横幅900px以上、Firefox 3, Safari 3, Opera 9.5, Chrome 0.2以上。IE7ギリギリ対応。IE6未対応。