「SwingDesigner」でSwingアプリケーションをつくろう! その2~アプリケーション新規作成とコンポーネント配置
スポンサーリンク
前回の続き.eclipse用のプラグインSwingDesignerでjavaのウインドウアプリケーションを 作ってみましょう. 題材として,簡単なテキスト・エディターを作成してみます.
ポイント
SwingDesignerの設定
今後の開発のためにまず設定をします. ボタンなどのコンポーネントをローカル変数ではなくクラスのフィールドにする設定をします.
やり方
ウインドウ→設定→左の項目からWindowsBuilderを選択→Swing→コード生成
→「フィールド」をクリックしてチェック→OK
新規アプリケーションを作成する
- ファイル→新規→Javaプロジェクト
- 出てきたウインドウで,プロジェクト名を入力し完了ボタン.
- ファイル→新規→その他→WindowsBuilder→SwingDesigner→アプリケーションウインドウ これで,アプリケーションのメインとなるクラスを新規作成.
- 出てきたウインドウで,名前を入力し完了ボタン.ソースが作成されます.
- 実行してみる…メニューから,実行→実行でアプリケーションが立ち上がることを確認します.
以降は,図中の赤枠のDesignタブを選択してGUIを作っていきましょう.
レイアウト設定
コンポーネントのレイアウト設定というのがありますが,絶対レイアウトがおすすめです. 絶対レイアウトなら,他のレイアウト設定と違い,自分でコンポーネントの位置と大きさを 好きに設定できるからです.
絶対レイアウトにするやり方
- getContentPane()をクリック
- 下のプロパティ画面で,「Layout」の項目のところの下三角をクリックして値を 絶対レイアウトに変更.
コンポーネントの設置方法
各種コンポーネントはPallet欄の素材をマウスクリックで選択し,ウインドウにおいていきます. では,ラベルを配置してみましょう.
- 真ん中のPaletteのフォルダ内のJLabelという名前をクリック
- 右側のウインドウにマウスを持ってきて,もう一度クリックで配置.
- ソースに戻り,新しいメンバ変数ができてることを確認:
private JLabel lblNewLabel;
- また,ラベルのクラスがinitialize()内で初期化されています.
lblNewLabel = new JLabel("New label"); // ラベルを初期化 frame.getContentPane().add(lblNewLabel);
こんなかんじでボタン(JButton)も配置してみましょう.
コンポーネントの大きさ調整
フレーム(frame)が絶対レイアウトなら,ラベルなどの大きさをでかくしたり,小さくしたりも出来ます. 配置されたラベルをクリックすると,黒の枠が出ますので調整してみます.
注意:
たまに変な方に拡大すると図のようにコンポーネントが見えなくなりますが,これは負の方向に調整しているからです.
ソースを見てみると,
btnNewButton.setBounds(214, 5, -18, -16);
のように負の値が入れてあります.調整の方向に注意してくださいね.
実行
実行してみますと,こんな画面がでればOKです. ラベルとボタンが表示されてます.
次回は,ボタンにファイルを開く機能を付けてみます.