2012-05-01から1ヶ月間の記事一覧

自作クラスは一つの道具箱へ

煩雑な処理とか流用を考えて作ったものを別クラスに書くのは普通のことなんですが、他のプロジェクトで使うときどうすればよいかわからずわざわざコピーしてました でもこれだと書き換えた時もう一方に反映されないじゃないですか これをどうにかできないか…

キーバインドを設定し直す

JTableにはもともとキーストロークによる動作が決まっています(Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle) ですがエンターを押した時表を更新したいとか、タブキーを押した時に右に行くのではなく下に行きたいと…

Javadocを書く

Javadocというのはプログラムの説明書みたいなものです 過去のプログラム例にも度々でてきてるんですが /** * 本のリストの特定の位置に本を追加します * @param index 位置 * @param name 書名 * @param volume 巻数 * @see #add(java.lang.String, int) */…

詰んだ

JTableで、2次元の表を数枚(つまり3次元)扱うソフトを作ってるんですが、数字しか入力させないので他の文字キーをいろんな機能のショートカットにしたいんですが表のセルにその文字が入ってしまってどうしようもありませんキーが押されたイベントが終わった…

ポップアップメニューを表示する キー入力のイベント

ポップアップメニューって右クリックだけじゃなくてキーボードからも開けますよね キーボード右下のそれっぽいキーです キーが押されたイベントを作ってそこで押されたキーがそのキーだったかを判別して実行します private void tableKeyPressed(java.awt.ev…

ポップアップメニューを表示する マウスクリックのイベント

普段使うソフトのほとんどにポップアップメニュー(右クリックメニュー)が実装されていますね これがあるだけで機能的なソフトに見えてきます netbeansのデザイン画面で、パレットにポップアップメニューがあるから簡単に追加できると思ってたのですがいまい…

表を描く その5 表の項目を移動する

表で情報を整理する場合ソートは重要な要素ですが、名前順では物足りないことがあります。もちろん項目にタグを付ける感覚で(一般コミック)[小梅けいと]*1狼と香辛料*2というふうにすれば名前ソートで整然と並ぶんでしょうが、ユーザーに熱心さやアングラ*3…

テキストフィールドを全選択する

すでに文字列が入っているJTextField(JTextAreaでもいいけど)を編集するとき、クリックした時全文が選択状態(青く反転表示)になってくれると、0から書き直すときバックスペース長押ししなくてすみます。バックスペースを1,2秒長押する手間を数分かけて取り除…

表を描く その4 列のタイトルをクリックするとソートする

パソコンのエクスプローラとかもろもろのソフトで表の列ヘッダ(タイトル部分)をクリックすると名前順とかで並べ替えてくれますよね この機能はJavaで表を設置しただけでは有効になってません この一文を追加する必要があります(追記:書かなくてもプロパティ…

表を描く その3 選択されたセルの値を他の場所に表示する

やっぱり表をいじるときは、セルまたは行を選択した時にどこかのテキストフィールドに表示して、それを書き換えて編集ボタンをクリックすると表の内容が変わるっていうのがかっこいいですよね そこで普通ならデザイン画面でおもむろに表を右クリックして「セ…

JTextFieldに数字が入っているか判定する 数字入れろっつってんだろボケ!

テキストフィールドに特定の文字の入力を禁止するのはググる限りイベントをどうのリスナーがどうのと面倒くさそうです しかし、文字を入力したからには決定ボタンを押すとか次にフォーカスを移すとかいう行動があるはずで、これらは僕でもイベントを拾えます…

ファイルを一気に出力 BufferedWriterを継承した何かを作る

では出力です ※こちらも書き換えました。エンコード方式を指定できるようになってます public class BufferedWriterPlus extends BufferedWriter { public static String ISO2022JP = "ISO2022JP"; public static String SJIS = "SJIS"; public static Strin…

ファイルを一気に入力 BufferedReaderを継承した何かを作る

ちょっと表から離れて大好物のファイル入出力を3行のコードで一括でできるように拡張しました 拡張というのは継承クラスでするわけなんですが今日勉強したので完全理解はしてません。動けばいいや(禁句) オブジェクト指向初めてすぐって別ファイルに物を書く…

表を描く その2 (わりとどうでもいい)

では次にこのリストをもとに表を書いていきます public bookList book = new bookList(); //入力したりファイルから読み込んだりして本のリストbookを作る まず表にしたいリストを作ったらこれを実行させます private void writeTable() { dtm = (DefaultTab…

表を作るための準備 その1 Cでいう構造体的なもの

表を楽に操作するために数回に渡り下準備の変数づくりから表を操作するメソッドまでを作ってみます というか細切れでかくのが面倒だしコピペしづらいので完成品を貼ろう ちなみに今回は昨日の「所有してる本の名前と巻数を管理する」というのを例にやってい…

表を描く その1

俺得。なにか実用的なソフトを作ろうと思うと表が絶対出てくるんですよね 表というのはjTable。表にキーボードから打ち込んだセルの値を取ってくるまではググらなくても誰でもできるのだけどそれ以外が詰みやすい気がします というのもテーブルモデルとjTabl…

行単位でのファイル入出力

手始めに、ググれば一瞬なんだけど手始めに コピペで動くはずなので下の解説は読む価値はない まず入力※ファイルのエンコード方式を指定する方法はファイルを一気に入力で書いてますのでそちらへ private void readFile(File file) throws FileNotFoundExcep…

忘備録始めました

どのブログにしようか迷ったけど、はてなにしましたなぜなら、はてなでプログラム関連のこと書いてあるのを見ると「こいつ…知識人!」という錯覚を起こせるような気がしたからですでも出来るひとではありません、雑魚グラマですですから、ここが参考になるひ…