SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(InputMan)

電卓機能を持ったJSPプログラムを作る

InputMan for Java EE 1.0Jでお手軽GUI作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (2.4 MB)

電卓のデザイン

 では、実際にInputMan for Java EE 1.0Jのコンポーネントを持ったJSPファイルを作成してみましょう。使用するコンポーネントは「電卓」です。

デザイナの起動

 デザイナを利用すれば、デザイン結果を見ながらプロパティを設定することで、JSPページに組み込むためのカスタムタグを自動的に生成できます。また、プレビュー画面では簡易的な操作を確認することができます。

デザイナで電卓コンポーネントを作成している
デザイナで電卓コンポーネントを作成している

 デザイナを起動するには、Windowsのスタートメニューから[InputMan for Java EE 1.0J]-[InputMan for Java EE デザイナ]を選びます。

 [ファイル]-[新規]メニューを選ぶと、コンポーネントのタイプを選択するウィンドウが表示されるので、使いたいコンポーネントを選びます。今回は、電卓コンポーネントを使用しますので、「Calculator」を選びます。

「Calculator」を選びOKボタンを押す
「Calculator」を選びOKボタンを押す

 デザイナは、左上のペインがコンポーネントの完成イメージで、その下にJSPカスタムタグの記述が表示されます。右のペインがプロパティウィンドウになっているので、コンポーネントのプロパティを設定し、コンポーネントをデザインしていきます。

デザイナの構成
デザイナの構成

プロパティの操作

 では、プロパティを操作して電卓をデザインしてみましょう。

 デフォルトの状態では、ちょっと色気のない電卓になっているので枠線の色を変えてみます。プロパティウィンドウの「backColor」プロパティをクリックし、カラーチャートから「青色」(#0080ff)を選びます。

 また、それぞれのボタンの背景色も変更します。背景色はbackColorプロパティですが、各ボタンはそれぞれオブジェクトグループとして扱われます。

各ボタンのオブジェクト名
各ボタンのオブジェクト名

 各オブジェクトごとにbackColorプロパティを操作して、ボタンの色を変更できます。同時にその下のコードビューでは、このデザインした電卓を実装するためのJSPカスタムタグが作成されています。

作成した電卓
作成した電卓

 作成したコンポーネントは、デザイナ専用のフォーマットで保存できます。

JSPファイルの作成

 次に、この電卓を実装するJSPファイルを作成しましょう。Eclipseを起動してください。

JSPプロジェクトの作成

 Eclipseで[ファイル]-[新規]-[その他]メニューを選び、[Java]-[Tomcatプロジェクト]を選びます。プロジェクト名は「mycalc」にします。

 そして、[ファイル]-[新規]-[ファイル]メニューを選び、「index.jsp」というファイルを作成します。作成したら、次のコードを入力します。行番号は説明のために付けたもので、実際のコードには入力しないでください。
1 <%@ page language="java" pageEncoding="SHIFT_JIS" %>
2 <% String msg = new String("JSPプログラムのテストページです");  %>
3 <html>
4 <head>
5 <title>JSP プログラム</title>
6 </head>
7 <body bgcolor="#FFFFFF">
8 </body>
9 </html>

電卓のカスタムタグの挿入

 次に、デザイナに戻り、作成した電卓のカスタムタグをこのJSPファイルに貼り付けます。

 まず、2と3の間に、カスタムタグの最初の2行を貼り付けます。

1 <%@ page language="java" pageEncoding="SHIFT_JIS" %>
2 <% String msg = new String("JSPプログラムのテストページです");  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://www.grapecity.com/inputman" prefix="im"%>

3 <html>

 そして、7と8のbodyタグの間に、残りのコードを貼り付けます。

7 <body bgcolor="#FFFFFF">

<im:ScriptManager calculator="true" root="./client/" />
<form id="Form1" method="post">

<im:Calculator backColor="#0080ff" editButtonsStyle="#ffff80,WindowText" id="Calculator1" mathButtonsStyle="#ffb3b3,Maroon" memoryButtonsStyle="#e8a2ff,Blue" memoryStatusStyle=",WindowText" resetButtonsStyle="#ffff80,WindowText"/>


</form>
<im:PageEnd/>

8 </body>

 これでできあがりです。ファイルを保存します。

ここまでのJSPタグ全文
<%@ page language="java" pageEncoding="SHIFT_JIS" %>
<% String msg = new String("JSPプログラムのテストページです");  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://www.grapecity.com/inputman" prefix="im"%>
<html>
<head>
<title>JSP プログラム</title>
</head>
<body bgcolor="#FFFFFF">
<im:ScriptManager calculator="true" root="./client/" />
<form id="Form1" method="post">

<im:Calculator backColor="#0080ff" editButtonsStyle="#ffff80,WindowText" id="Calculator1" mathButtonsStyle="#ffb3b3,Maroon" memoryButtonsStyle="#e8a2ff,Blue" memoryStatusStyle=",WindowText" resetButtonsStyle="#ffff80,WindowText"/>


</form>
<im:PageEnd/>
</body>
</html>

次のページ
JSPファイルの実行

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(InputMan)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3301 2009/03/17 12:12

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング