タグ

javaに関するvoidy21のブックマーク (275)

  • Java Swing「JTree」メモ(Hishidama's Swing-JTree Memo)

    モデル JTree内で実際にデータを管理するのがTreeModel(インターフェース)。 基的にはそれを実装しているDefaultTreeModelクラスが使われる。 TreeModelにはデータを取得する系統のメソッドしか宣言されていない。 データを操作(追加・削除)するメソッドはDefaultTreeModelの方にある。 個々のデータ(要素)はTreeNodeインターフェース(後から子ノードを増減する場合はMutableTreeNodeインターフェース)の実装クラス(デフォルトではDefaultMutableTreeNodeクラス)で保持する。 DefaultTreeModelはルートノード(一番上の要素)だけを保持し、子ノードの一覧(リスト)は各ノードがそれぞれ保持する。 メソッド 概要 更新日

    voidy21
    voidy21 2009/12/20
  • 画像ビューワー以前、JTreeのノードを動的に生成する。 - @author pyridoxin

    再度パネルにファイル一覧を表示したいときに使えるJTree。しかしあるルートノードを指定してそこから一気に最下層まで生成するのは負荷が係る。またユーザーが欲しいときに欲しいだけ子ノードを生成すれば良いので一気に生成する必要ない。そこでノードを動的に生成する。 最初にある親ノード(ファイル)が与えられたとする。その子ノード達はlistFiles()で容易に得られるので、それらをDefaultMutableTreeNodeでノード化してツリーに付け足す。さらに孫ノードを付け足せば良いのですが、孫ノードは最初のフェーズでは生成しない。 子ノードのうち孫ノードをもつ可能性があるのはディレクトリだけ。そこでisDirectory()でディレクトリであるかどうかを判断して、ディレクトリであるならばダミーの孫ノードを付け足し、子ノードが展開できる状態にする。 次に孫を生成する。タイミングはTreeWil

    画像ビューワー以前、JTreeのノードを動的に生成する。 - @author pyridoxin
    voidy21
    voidy21 2009/12/20
  • Java でアスキーアート画像を生成する - IT戦記

    要は 文字列を指定された *.ttf ファイルを使って画像化したい!! こんな画像作りたい と言う訳で書いてみました "-D" オプションでいろいろ設定できます。 import java.lang.String; import java.lang.System; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import java.awt.GraphicsEnvironment; import java.awt.Font; import java.awt.Color; import java.awt

    Java でアスキーアート画像を生成する - IT戦記
    voidy21
    voidy21 2009/12/20
  • java_getset.vim : Javaのゲットメソッド、セットメソッドを生成 — 名無しのvim使い

    Java言語用のスクリプトで 変数のアクセサメソッドを作成します。 Java言語では、アクセサメソッドは多用されるので 有用なスクリプトです。 (Windows, Mac) 概要 java_getset.vim : Automatically add getter/setters for Java properties (including array-based) http://www.vim.org/scripts/script.php?script_id=490 Java言語用のスクリプトで 変数のアクセサメソッドを作成します。 // 変数 private String name; // アクセサメソッド生成(デフォルト) /** * Get name. * * @return name as String. */ public String getName() { return n

  • isocchi.com

    We’re getting things ready Loading your experience… This won’t take long.

    voidy21
    voidy21 2009/12/16
  • java 7が斜め上を行っている件について

    Javaがクソなのは今に始まった話ではないのだが、Java 7でさらにクソミソになるようだ。 New language features in Java 7 « JoeJag :: Tech Java 7にはDiamond Operatorなるものがある。 アイディアとしてはこうだ。いままでは、こんな風に書かなければならなかった。 Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); これは、どう見ても冗長で無駄だ。モダンな言語をみるに、C++0xのautoといい、C#のvarといい、これらの冗長なコードを回避できる方法を提供している。時代遅れで池沼のJavaも、なんとかC++やC#のマネごとをしたかったものとみえる。連中の解決方法は以下の通り。 Map<String, List<String>>

    voidy21
    voidy21 2009/12/16
  • HashMapと無限ループとsynchronized - 谷本 心 in せろ部屋

    「HashMapのputとgetを同時に行うと、無限ループが発生する」という事は Javaエンジニアな皆さんならご存知だと思います。 1. 無限ループの再現 まずは論より証拠、無限ループになることを確認してみましょう。 こんなテストコードを書けば、すぐに再現できます。 public void testHashMap_無限ループ() throws InterruptedException { final Map<Integer, Integer> map = new HashMap<Integer, Integer>(); Runnable runnable = new Runnable() { public void run() { for (int i = 0; i < 1000000; i++) { int key = i % 10000; if (map.containsKey(ke

    HashMapと無限ループとsynchronized - 谷本 心 in せろ部屋
    voidy21
    voidy21 2009/12/14
  • C++ よりも C# よりも Java でゲームを作ると良い 8 の理由と、悪いほうの 8 つの理由 (大嘘) - ぐるぐる~

    元ネタ:C++よりもC#でゲームを作るとよい8の理由と、悪いほうの8つの理由 - 【長剣は】最強武器候補【鈍器です】 注:この記事での JavaJava SE 6 を、C# は .NET Framework 3.5 を、C++ は Visual Studio 2008 を想定しています。 最新の C# 4.0 や C++0x だと改善されているかもしれませんが、色々とお察しください。 1. enum が便利 C++ も C# も enum は結局単なる整数ですが、Java ではオブジェクトとなります。 // Java enum Sword { LONG, SHORT } valueOf メソッドを使うことで、文字列から enum への変換もでき、Sword.LONG.toString() のように、文字列にすることもできます。 その上、メソッドやフィールドとか持てちゃいます。なんかも

    C++ よりも C# よりも Java でゲームを作ると良い 8 の理由と、悪いほうの 8 つの理由 (大嘘) - ぐるぐる~
    voidy21
    voidy21 2009/12/14
  • はてなブログ | 無料ブログを作成しよう

    チョコミントの最終的な結論 チョコミントアイスが大好きで、めちゃくちゃべてる。会社でもべちゃうくらい好きで、ランチにコンビニのソーセージとチョコミントをべたりしている。会社の人から「自由すね」と言われた。いいだろ。 コンビニやスーパーで売っているチョコミントアイスは大概

    はてなブログ | 無料ブログを作成しよう
    voidy21
    voidy21 2009/12/14
  • Javaはバイナリをごりごりやるのに弱い - プログラマーの脳みそ

    プログラミングのジャンルは広いもので、しばらくいじってなかったジャンルを久々に触ると記憶違いとかしてて記憶をリフレッシュさせにゃいかんなぁとか思う今日この頃、みなさまいかがお過ごしでしょうか。僕は風邪で寝込んでました。 PCエンジンエミュレータ移植の件 - Aoisomeの以下略で、僕は何を勘違いしたかJavaのbyteをunsignedだと記憶違いしてて恥をかいたところ。そういえば誰かもFlexのバイナリをJavaでごりごり扱おうとしたらsignedで苦労したみたいなこと言ってたっけ。 Javaの仕様を再確認。short、char、byteは演算時に自動的にintにワイドニングして処理される。なので、単純なbyte型変数同士の演算をbyte型に代入するにもキャストが必要になる。 byte a = 1; byte b = 2; byte c = (byte)(a + b); 面倒くさいよね

    Javaはバイナリをごりごりやるのに弱い - プログラマーの脳みそ
    voidy21
    voidy21 2009/12/13
  • Java やってる人が C# を使うとはまること - ぐるぐる~

    ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ

    Java やってる人が C# を使うとはまること - ぐるぐる~
  • 2009-12-07

    [雑談][appengine][slim3] おはようございます。 初めましてkilvisと申します。 あまりブログとか日記を綴るようなのは長続きしない性格なので、 これまでブログとか(一部ゲーム用のを除く…w)は一切やっていませんでした。 ですが、ここへきて遅ればせながらちょっと始めてみようかと。 というのも、最近、仕事終わって家に帰ってくると slim3 でコーディングばかりやってます。 ついったーでつぶやき、助言もらいつつやってたりするのですが、やはり突っ込んだ内容になるとつぶやきじゃ難しいです^^; slim3のMLに送るモノでもないけど、ついったーじゃ書き切れないコトをこっちに書いていこうと思います。 今後どこまで続くのかわからないけど、とりあえず始めてみましたー 今後ともヨロシクお願いします m(__)m ここのところ、slim3を使ってGAEのアプリを作っています。 その過程

    2009-12-07
    voidy21
    voidy21 2009/12/08
  • Ubuntu9.10にNetBeans6.8RC1をインストールした - voidy21の日記

    NetBeansをダウンロード http://ja.netbeans.org/downloads/ NetBeans 6.8 リリース候補ビルド 1 (RC1) のダウンロード のリンクを選択 JavaSE(47MB)のダウンロードボタンをクリックしてダウンロードする*1 インストールする 以下作業ログになります。 ダウンロード先は~/Downloadsでした % cd ~/Downloads % chmod +x netbeans-6.8rc1-ml-javase-linux.sh % sudo ./netbeans-6.8rc1-ml-javase-linux.sh あとはクリックするだけでインストール完了です! Javadocの参照先を指定する デフォルトではAPIJavaDocが読み込まれてなくて補完時に残念なので設定する。 http://java.sun.com/javase/

    Ubuntu9.10にNetBeans6.8RC1をインストールした - voidy21の日記
  • エンジニアのためのJavadoc再入門講座 - そうだ?Blogを書こう?

    エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方 作者: 佐藤竜一出版社/メーカー: 翔泳社発売日: 2009/06/30メディア: 単行(ソフトカバー)購入: 15人 クリック: 263回この商品を含むブログ (49件) を見る今までJavadocコメントをしっかり書いたことがなかったので読みました。 すごくためになった! どうやってJavadocを使うか そもそも生成の仕方とかを知らなかったのですが、その辺から丁寧に説明されていたので個人的によかったです。 ブロックタグを一つ一つ説明していて、どう記述するか、どう表示されるかが丁寧に説明されています。 こういう感じに表示したい!というのがある時に、リファレンスとしても便利そうです。 どういうドキュメントを書くべきか ありがちなメソッド名の日語訳だけといったコメントをばっさり切り捨て、この箇所はこういうコメ

    エンジニアのためのJavadoc再入門講座 - そうだ?Blogを書こう?
    voidy21
    voidy21 2009/12/03
  • 別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela

    HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli

    別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela
  • JDK 7が、突然"単純な"クロージャをサポート、しかしリリースは、2010年の終わりに。

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    JDK 7が、突然"単純な"クロージャをサポート、しかしリリースは、2010年の終わりに。
    voidy21
    voidy21 2009/11/28
  • メモの日々(2009-11-17)

    ■ [java] ソースにエンコーディングが不正な文字が含まれている際のjavacの挙動 コメント内にエンコーディングが不正な文字が含まれているソースファイルをコンパイルする必要があった。 Antを使うと 警告:この文字は、エンコーディング UTF-8 にマップできません。 という警告はでるがコンパイルできた。が、NetBeans 6.7.1でコンパイルすると この文字は、エンコーディング UTF-8 にマップできません。 というエラー(警告じゃない)になりコンパイルできなかった。なんでや。 -sourceオプションの有無で動作が変わる javacに渡されているオプションを比較したところ、「-source」オプションの有無によりjavacの挙動が変わることが分かった。次のようになる。 G:\home\kenichi\work\java>javac -version javac 1.6.0_

    メモの日々(2009-11-17)
    voidy21
    voidy21 2009/11/25
  • Amazon.co.jp: エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方: 佐藤竜一: 本

    Amazon.co.jp: エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方: 佐藤竜一: 本
  • Google App Engine for Javaで参考になるサイトのまとめ - ありの日記

    先日、友達の会社の勉強会で「初めてのGAE/J開発」というタイトルの発表をさせていただきました。準備不足や時間配分のミスがあったため、後半飛ばしぎみになって申し訳ありませんでした。 GAEの制限ばかりを強調しすぎて逆に使えないような印象をもってしまったかもしれませんが、決してそんなことは無いと思います。(だから、私もいまGAEに注目しているわけですし。)特にBigtableは今までとは違った考え方が必要なので、これまでのRDBのように考えるとうまく行かないのは間違いありせん。(私も何度も悩まされました。いや、今もですが。) しかし、だからといってそれはやり方の問題であって、そのままGAEが使えないという理由にはならないはずです。BigtableにはBigtableのやり方が必ずあるはずです。また、WikipediaTechCrounchによると、GoogleのたくさんのサービスがBigt

    Google App Engine for Javaで参考になるサイトのまとめ - ありの日記
  • 第1回 Hello, Wicket | gihyo.jp

    Wicketとは WicketはApache Software Foundationで開発されている、Webアプリケーション開発用のフレームワークです。フレームワークにもさまざまなものがあり、それぞれ用途が異なります。Wicketの行うことは、ブラウザからのリクエストを受け付け、処理を振り分け、ページを生成してブラウザにレスポンスを返すことです。位置づけとしては、Apache Strutsと同じと考えれば良いでしょう。 Wicketの特徴 Wicketには他の多くのWebフレームワークとは異なる、大きな特徴があります。多くのWebフレームワークが、リクエストからレスポンスまでのフロー(流れ)をどのようにコントロールするか、という方針で作られているのに対して、Wicketは「Webページをページというオブジェクトとして扱い、オブジェクトを組み立てることでアプリケーションを構築する」という考え

    第1回 Hello, Wicket | gihyo.jp