Posts Tagged ‘NetBeans’

オプション設定のインポート機能を使ってみる

金曜日, 6 月 19th, 2009

NetBeans 6.7 RC3 をインストールした。

今回初めてオプション設定のインポート機能を使ってみた。

まず RC2 のオプション設定をエクスポートする。

1

エクスポートしたい項目を選択します。

とりあえず「すべて」を選んでみました。

2

ちゃんと zip ファイルで保存されました。(jar ファイルじゃないんですね)

3

これで RC2 にはお暇をやって綺麗さっぱりアンインストールします。

RC3 をインストールしてオプション設定をインポートします。

4 

インポートする項目も選べるんですね。便利!便利!

5

[ 了解 ] ボタンを押してインポートします。

確認ダイアログ画面が出ますので問題なければ [ はい ] ボタンを押したら OK です。

この確認画面の表示がちょっとおかしいですけど画面を大きくリサイズしたらちゃんと読めます。

もう一度小さくリサイズしたら表示が良いときと悪いときがあるようです。

オプション設定のインポートには問題ないようなので気にしない。

追記 この不具合はルックアンドフィールを Nimbus か CDE/Motif に変更した場合に出るようです。

6

 

CDE/Motif

7

このオプション設定のインポート機能って便利ですね。

エクスポートした設定ファイル一つあればすべての環境の NetBeans に同一の設定を簡単にできるってことですね。

Hatena タグ:

First Cup を試してみた

日曜日, 6 月 7th, 2009

Your First Cup: An Introduction to the Java EE Platform Chapter 3 を試してみました。

製品バージョン: NetBeans IDE 6.7 RC2 (Build 200906042131)
Java: 1.6.0_14; Java HotSpot(TM) 64-Bit Server VM 14.0-b16
システム: amd64 上で動作する Windows Vista バージョン 6.0; MS932; ja_JP (nb)
ユーザーディレクトリ: C:\Users\Yucchi\.netbeans\6.7rc2

上記の環境にて GlassFish V3 Preview にてさくさくっとチュートリアルの指示にしたがってあっさりとできてしまいました。

NetBeans 6.7 RC2 で GlassFish V3 Preview を使う方法はこちらにあります。

チュートリアルを進めていくと NetBeans 6.7 ではとりあえず Java EE 6 が試せますよってのが解る。

Java EE 6 対応の GlassFish V3 Preview を選択しても Java EE 6 のバージョンが選べなかったりします。

でも、Java EE 5 で Java EE 6 も対応してます。

細かいところでは GlassFish V3 Preview 側にライブラリがあるので NetBeans が親切に用意してくれるライブラリの中には不要なものがあります。

下図の二つのライブラリも必要ありません。

1

2

最初に JAX-RS RESTful web service を利用した Web アプリケーションを作ります。

作ったプログラムを動かすとデューク君の年齢が表示されます。

3

チュートリアルを進めていくとまた不要なものに出会います。

指示に従い不要なものは削除していきます。

また、Java EE 6 のバージョン仕様に従い各ファイルを編集しなくてはいけないようです。

NetBeans 6.7 がデフォルトで作成する Facelets のバージョンは 1.2 なので faces-config.xml をバージョン 2.0 の仕様に手動で編集しなければなりません。

web.xml ファイルにも必要のないエレメントがあるので編集、削除します。

Facelets Simple File にいたってはほぼ手動編集作業となります。

ちょっと面倒なことをしなければいけないけど Java EE 6 正式版がリリースされれば NetBeans が完全対応してくれるのに期待しましょう。

チュートリアルの指示にしたがってプログラムを完成させれば下図のように動作します。

12 

13

私のようなうっかり者は[ Back ] ボタンを押すとエラーを表示させてしまいます。

14

この原因はこのインポートを誤ったからです。orz

55

このチュートリアルを含んだドキュメントは英語なので詳しい内容はわかりませんが無いよりはいいですね。

久しぶりにサーバーサイドジャバに触れてみたって感じです。

もう、すっかり忘れてしまった(^^;

そう言えば、昔は「サーバーサイドジャバ」とか言って何やらカッコイイと思ったけど今では死語なんだろうか?

Hatena タグ: ,

NB6.7 Dev で Java EE 6

月曜日, 6 月 1st, 2009

JavaOne で何かしらの新技術がお披露目されるだろうと期待している私ですが待ちきれずに NetBeans で Java EE 6 って動くのか調べてみました。

といってもネットでググって調べただけです。

結果は・・・ ありました!

下記サイトです。

http://ekschi.com/technology/2009/05/19/totd-81-getting-started-with-servlet-30-and-ejb-31-in-java-ee-6-using-netbeans-67/

英語が駄目なのでだいたいこんな感じじゃないかと真似てみました。

一部コードは簡略化してありますが問題ないはずだと思います。

NetBeans 6.7 開発版に GlassFish V3 Preview を追加して Java EE 6 を試してみます。

まず GlassFish V3 Preview の zip 版をダウンロードしてインストールします。

NetBeans のサーバーに GlassFish V3 Preview を追加できるように GlassFish v3 Enabler というプラグインをインストールします。

1

インストールが完了したら [ サービス ] ウィンドウでサーバーを追加します。

2

GlassFish v3 が追加可能になってますので画面の指示にしたがって追加します。

3

4

5

GlassFish v3 が追加され利用可能となりました。

6

Java EE 6 の機能の一部ですが早速試してみます。

新規プロジェクトを作成します。

[ Java Web ] カテゴリを選択し、プロジェクトに [ Web アプリケーション ] を選び [ 次へ> ] ボタンをクリックします。

11

プロジェクトの設定を行います。

とりあえずここはデフォルト設定としました。

12

サーバーには GlassFish v3 を設定します。

Java EE バージョンには本当は Java EE 6 を選びたいところですが無いので Java EE 5 をドロップダウンリストから選択します。

13

フレームワークは利用しないので [ 完了 ] ボタンを押して終了します。

14

プロジェクトに POJO ベースの EJB を追加します。

[ 新規 ] → [ Java クラス... ] を選択します。

15

名前と場所を設定します。

16

HelloEJB クラスが自動生成されます。

このクラスに @Stateless アノテーションをつけます。

エラー表示が出てヒントが出ますのでヒントの指示どおり javax.ejb.Stateless をインポートします。

17

sayHello メソッドを作ります。

これで EJB の作成は終わりです。

 

19

次に、この EJB を呼び出すサーブレットを作成します。

[ 新規 ] → [ Java クラス... ] を選択します。

名前と場所の設定を下図のようにします。

22

自動生成された HelloServlet クラスに @WebServlet をつけます。

URL パターンも忘れずにつけます。

23

javax.servlet.annotation.WebServlet をインポートします。

24

HttpServlet を継承します。

26

EJB をインジェクトします。

ヒントのとおりインポートを修正してエラーを修正します。

29

doGet メソッドをオーバーライドします。

32

33

34

下記コードのように doGet メソッドを編集します。

35

これで単純にサーブレットから EJB を呼び出して http://localhost:8080/WebApplication1/hello のアドレスに ” こんにちわ(^^) ゆっち ” と表示されればOKです。

おっと、Java EE 6 では sun-web.xml ファイルと web.xml が不要となるんでしたね。

削除してしまいましょう。

41

なんか寂しい気がするけど気にしない。

42

それではプロジェクトを実行し、http://localhost:8080/WebApplication1/hello にアクセスしてみましょう。

動きましたね(^^)

52

Java EE 6 ってシンプルでいいですね。

アノテーションでなんでもありのようになったような気がしないでもないが大歓迎です(^^)

Hatena タグ: ,

Wizard Module Tutorial を真似てみる -4-

日曜日, 5 月 31st, 2009

NetBeans 6.5.1 に NBM ファイルのインストールに失敗したので開発版で試してみました。

前回と同様の手順で今回の NetBeans へのインストールは問題なさそうです。

1

2

3

4

ちゃんとインストールされ実行できます。(^^)

5

と言うことで 古いバージョンへ互換性を持たせる方法があるのかどうかは私には解りません。

とりあえず、同じバージョンの NetBeans なら問題ないようですね。たぶん。。。

Hatena タグ:

Wizard Module Tutorial を真似てみる -3-

金曜日, 5 月 29th, 2009

前回、キャストエラーで終わっていたのですが、たかくらさんよりエラーの原因をコメントでいただきましたので修正しました。

たかくらさん、ありがとうございました。(^^)

原因は97行目と98行目の第二引数でした。

これでは JTextField そのものをわたしてるだけですよね(^^;

99行目、100行目のように JTextField のテキストをわたさないと・・・

95

そういうことで修正したコードはこのようになります。

1

プロジェクトを実行すると無事にうごきました。

ウィザードダイアログの2枚目は手を加えてないので [ 完了 ] ボタンを押すと1枚目のユーザーデータが表示されます。

2 3 4

調子にのって NBM ファイルを作ってみます。

[ プロジェクト ] を右クリックして [ NBM を作成 ] を選択します。

5

NBM ファイルが作成されるので違う環境の NetBeans にインストールしてみます。

[ プラグイン ] の [ ダウンロード済み ] タブを選択し [ プラグインの追加 ] ボタンを押します。

11

先ほど作った NBM ファイルを選択します。

12

そしてドキドキしながら [ インストール ] ボタンを押します。

13

なんじゃ、こりゃ!(by 松田 優作

14

せっかくちゃんと動いたと思ったのに・・・

なにやら API のバージョンが古いとか言ってるようだ。

とりあえず、動いたので良しということにしよう!

Hatena タグ:

Wizard Module Tutorial を真似てみる -2-

木曜日, 5 月 28th, 2009

 

昨日の続きです。

ウィザードの内容を設計していきます。

DemoWizardAction.java ファイルを開きます。

NetBeans のコード補完機能と JavaDoc を利用していろいろなプロパティのカスタマイズが可能なことを確認できます。

これらについてはこちらをご覧ください。

31

DemoWizardAction.java で、 wizardDescriptor.setTitle を次のように変更します。

これでウィザードタイトルが「ねこび~ん か・わ・い・い!」になります。

32

DemoVisualPanel1.java ファイルと DemoVisualPanel2.java ファイルを開きます。

それぞれ GUI ビルダーにて下図のようにデザインします。

33

34

それぞれ、エディタ画面に切り換えて getName () メソッドをそれぞれ「名前と住所」と「趣味と好きな食べ物」に変えます。

35

36

ウィザードダイアログ画面の左側に画像を表示させてみます。

下の画像を使用します。

この画像は「ねこび~ん」と言う名前の NetBeans 日本語コミュニティのマスコットです。

http://ja.netbeans.org/nekobean

作者はカネウチカズコさんです。

http://blog.cgfm.jp/mutsuki/

とても可愛いキャラクターで人気者です。

38

37

イメージファイルを利用するプロパティを追加します。

39

ヒントのとおりインポートします。

40

プロジェクトを実行してみます。

左側に可愛いねこび~んの画像が表示されてます。

もちろんタイトルも設定したとおり、「ねこび~ん か・わ・い・い!」となってます。

ステップも設定どおりです。

[ 次へ> ] ボタンを押して次の画面へ移ります。

41 42 43

次にテキストフィールドに入力されたデータを取得します。

DemoVisualPanel1.java ファイルに取得メソッドを作成して、 DemoWizardPanel1.java ファイルからそれらにアクセスするようにします。

エディタ内を右クリックしてコンテキストメニューを出し、[ コードを挿入... ] を選択します。

51

[ 取得メソッド... ] を選択します。

52

必要なものにチェックを入れます。

そして [ 生成 ] ボタンを押します。

53

取得メソッドが生成されます。

54

メソッド名をリファクタリングを行い変更します。

55

56

それぞれ下記のように変更します。

57

DemoWizardPanel1.java ファイルの storeSettings メソッドを下記のように編集します。

58

次に、 DemoWizardAction.java ファイルの actionPerformed メソッドを下記のように編集します。

59

ヒントのとおりにインポートします。

60

これで1枚目のウィザード画面のテキストフィールドの入力値が取得できるようになりました。

次に、[ 次へ> ] ボタンが押されるときにユーザーの入力値が正しいか検証するようにします。

DemoWizardPanel1 で、 WizardDescriptor.Panel の代わりに WizardDescriptor.ValidatingPanel を実装します。

71

ヒントのとおり、[ すべての抽象メソッドを実装 ] を選択します。

72

型を Component から DemoVisualPanel1 に変更します。

73

validate メソッドを下記のように「名前」、「住所」が入力されていなかったらWizardValidationException を投げるように編集します。

75

プロジェクトを実行して動作を確認します。

入力が無いのに [ 次へ> ] ボタンを押すとエラー表示がされます。

76 77 78

ユーザー入力値が不正な場合 [ 次へ> ] ボタン無効にします。

下記コードを追加編集します。

79

80

81

無効になるけど復帰できない(><)

どうやらテキストフィールドに DocumentListener を実装してユーザー入力を拾って isValid メソッドをコールしなければいけないようだ。

82 83 84

次に、アプリケーションが閉じたときにデータをストアするようにします。

そして、ウィザードが再開したときにアプリケーションを閉じたときのデータをセットします。

DemoWizardPanel1.java で、次のように readSettings メソッド と storeSettings メソッドを編集します。

必要なクラスをインポートします。

91

92

93

94

95

プロジェクトを実行します。

下図のように入力してアプリケーションを終了します。

96

[ ファイルウィンドウ ] で下図でハイライト表示している wizard.properties ファイルを表示させると先ほど入力したデータが保持されているのが確認できます。

再びアプリケーションを実行するとこれらのデータが入力された状態で表示されます。

97

本来なら Persisting Data Across Restarts というセクションにとりかかるのですが

どうも私の英語力(無いに等しい)と Java の知識では解りませんでした。

[ 次へ> ] ボタンのテキストを変更しているようですがいきなり出てくる My Wonder Ful App とその配下のディレクトリとファイルは何なんだ?

これって何者でどうやって作ったのか?

その利用方法は?

疑問だらけです。

とりあえず解る範囲でウィザード画面をシンプルなものにするには下記のように

wizardDescriptor.putProperty(“WizardPanel_autoWizardStyle”, Boolean.FALSE);

とすればいいようです。

106

シンプルですね。

107

最後になって気がついたけど [ 完了 ] ボタンを押すと「予期しない例外」がでました。(><)

108

キャストに失敗してるのかなぁ・・・

109

ここですね。

110

う~ん、眠いし、考えても解らないと思うからパスってことで(^^;

真似ただけなのに何処かでミスをやっちまったかなぁ。

Hatena タグ:

Wizard Module Tutorial を真似てみる

水曜日, 5 月 27th, 2009

最近こちらのサイト(しんさんの出張所 はてな編)の方が NetBeans のプラグインの開発を積極的に行っています。

Java 言語の修行中の私にとっては凄いとしかいいようがないです。

是非、がんばってもらっていろんな便利なプラグインを作ってもらいたいです。

日本の片隅で密かに応援してます。

ちょうど NetBeans のサイトにウィザードモジュールのチュートリアルが掲載されたので真似てみることにします。

私は英語が駄目なので間違ってるかもしれないので参考にした上記サイトを読んだ方が確実です(^^;

とりあえず下記環境でチュートリアルを真似て試してみます。

製品バージョン: NetBeans IDE Dev (Build 200905261401)
Java: 1.6.0_13; Java HotSpot(TM) Client VM 11.3-b02
システム: x86 上で動作する SunOS バージョン 5.10; eucJP-open; ja_JP (nb)
ユーザーディレクトリ: /.netbeans/dev

[ 新規プロジェクト ] を選択し、カテゴリに [ NetBeans モジュール ] プロジェクトに [ モジュール ] を選択し [ 次へ> ] ボタンを押します。

1

[ プロジェクト名 ] 、[ プロジェクトの場所 ] を設定します。

そして [ スタンドアロンモジュール ] を選択し、[ NetBeans プラットフォーム ] を選択します。

[ 主プロジェクトとして設定 ] にチェックを入れて [ 次へ> ] ボタンを押します。

2

[ コード名ベース ] 、 [ モジュール表示名 ] 、 [ ローカライズ版バンドル ] を設定し、

[ XML レイヤーを生成 ] にチェックを入れ、[ XML レイヤー ] を設定します。

3

プロジェクトが下図のように自動生成されます。

4

5

次に [ プロジェクトウィンドウ ] の DEmoWizard プロジェクトノードを右クリックして、[ 新規 ] → [ その他... ] を選択します。

11

[ モジュール開発 ] 、[ ウィザード ] を選択し、[ 次へ> ] ボタンを押します。

12

[ ウィザードの種類 ] で [ 登録の種類 ] は [ カスタム ] を、[ ウィザードステップのシーケンス ] には [ 静的 ] を選択し、

[ ウィザードパネルの数 ] は [ 2 ] に設定して [ 次へ> ] ボタンを押します。

13

[ ウィザードステップのシーケンス ] のヘルプによると今回のような枝分かれや逆戻りがなく次々と進行するものは [ 静的 ] になるようです。

対して [ 動的 ] はウィザードの自由度が上がるけど開発者は複雑な作業をしなければならなくなり、考慮すべきことが多くなるようです。

しかし、ヘルプが日本語で存在していたことに驚きました。

14

[ 名前と場所 ] の [ クラス名の接頭辞 ] 、 [ パッケージ ] を設定します。

そして [ 完了 ] ボタンを押します。

15

プロジェクトウィンドウで各種ファイルが自動生成されたのが確認できます。

16

それでは Action クラスを修正して、layer.xml ファイルでそれを登録します。

チュートリアルの指示どおり DemoWizardAction.java ファイルを開いて下記のように編集します。

CallableSystemAction の代わりに ActionListener を実装します。

何故なら ActionListener が標準的な JDK クラスであるからです。

CallableSystemAction はそうではありません。

NetBeans プラットホーム6.5から標準的な JDK クラスを使うことが可能になりました。

そのおかげで少ないコードで今までと同じことが可能となります。

21 
22

Action クラスを layer.xml ファイルに登録します。

“iconBase” element には 16 x 16 ピクセルの  「icon.png 」 と言う名前のアイコンを登録します。

23

先ほど登録したアイコンはプロジェクトの org.demo.wizard パッケージ内にあります。

24

ちなみに小さくなって解りにくくなりましたがヘルメットを小脇に抱えデューク君です。

25

それではプロジェクトを実行してみましょう。

26

おおっ! ちゃんとデューク君がいます。

それをポチッとクリックします。

27

ウィザードダイアログが表示されました。(^^)

[ 次へ> ] ボタンを押してみます。

28

2枚目に移りました。

[ 完了 ] ボタンを押して終了します。

29

とりあえずチュートリアルを真似てみてこれだけのことが僅かな作業でできてしまうんですね。

まだチュートリアルの続きがあるのでボチボチと真似てみよう。

Hatena タグ:

やっぱ、楽だね(^^)

火曜日, 5 月 12th, 2009

NetBeans を使って JDK 7 build 58 を試してみました。

試すといっても私は素人ですし、英語もだめなのでこちらのサイトで紹介されているものをまんま試してみました。

その一部始終はこちらです。

NetBeans に JDK を一度登録したらプロジェクトのプロパティでいつでも選択できるようになります。

1

JavaDoc も登録して使用できます。

便利です!

2

プログラム実行時のコマンドライン引数も設定できますのでいちいち長いコマンド入力をしなくてすみます。

3

気軽に試せます。

また、エラーやヒントも対応してくれます。(たぶん・・・)

新しい物好きな人で楽なのがいい人向けの隠れた使い方でしょうか(^^;

Hatena タグ: ,,

日本語対応が遅れているのかなぁ?

水曜日, 5 月 6th, 2009

製品バージョン: NetBeans IDE Dev (Build 200905051401)
Java: 1.6.0_13; Java HotSpot(TM) Client VM 11.3-b02
システム: x86 上で動作する SunOS バージョン 5.10; eucJP-open; ja_JP (nb)
ユーザーディレクトリ: /.netbeans/dev

この環境で下記のように日本語が含まれているコードとなると不具合がおこる。(サンプル長くてごめんなさい)

package javaapplication1;

import java.util.concurrent.atomic.AtomicInteger;

public class Main {

    private static final AtomicInteger count = new AtomicInteger();

    public static void main(String[] args) throws InterruptedException {
        long start, stop, diff;
        System.out.println(“Start”);
        start = System.currentTimeMillis();
        Thread t = new Thread() {

            @Override
            public void run() {
                for (int i = 0; i < 1000000000; ++i) {
                    count.incrementAndGet();
                }
            }
        };
        t.start();
        for (int i = 0; i < 1000000000; ++i) {
            count.incrementAndGet();
        }
        t.join();
        stop = System.currentTimeMillis();
        System.out.println(“Finish”);
        diff = stop – start;
        System.out.println(diff + “ミリ秒”);
        System.out.println(count);
    }
}

 

このように 6.7Beta ユーザーテストプログラムでレポートされていた現象と同じ?ようなエラーが発生します。

レポートでは Windows 環境で文字コードに UTF-8 を使用すると起こる現象で Windows-31j を使用すれば回避できるようでした。

Solaris 10 5_09 で UTF-8 を使用してもアウトでした。

11

ならば、文字コードを EUC-JP にすれば・・

12

ガ━━(= ̄□ ̄=)━━ン!!

13

エラーの数が少しへっただけじゃん (ToT)

Solaris よく解んないから念のために x-eucJP-Open でも試したけど一緒でした。

まさか Windows-31j で回避できたら笑っちゃね

しまった!

もう一つこのプロジェクトと比較用のプロジェクトを開いてました。

EUC-JP にすれば OK でした。

どうりで数が減ったんでおかしいと思った。

すみませんでした。

たぶん、システムのデフォルト文字コードでないと駄目なのかなぁ・・・

Hatena タグ:

この違いは何故?

火曜日, 5 月 5th, 2009

NetBeans 6.7 Beta のオプション設定で Maven のタブ画面の真ん中のあたりが寂しくなっているのが気になっていた。

何故なくなったんだろう?

今日、最新の開発バージョンを見たところ復活していた。

Beta で外した理由はなんだろう?

単純にうっかりしてたって落ちだと個人的に親しみがもてたりする。

2

1

Technorati タグ: