View
package eo.sim.tool.view;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
import eo.sim.tool.action.View03Action;
/**
*
*
*/
public class View03 extends JFrame {
// 従業員番号
JTextField text1 = null;
// 従業員名
JTextField text2 = null;
// 職種
JTextField text3 = null;
public JTextField getText1() {
return text1;
}
public void setText1(JTextField text1) {
this.text1 = text1;
}
public JTextField getText2() {
return text2;
}
public void setText2(JTextField text2) {
this.text2 = text2;
}
public JTextField getText3() {
return text3;
}
public void setText3(JTextField text3) {
this.text3 = text3;
}
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args){
View03 frame = new View03();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("mybatis-2.3.5とswingのサンプル");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 450, 220);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public View03() {
// ベースとなるパネルをLayoutManagerを無効にして作成
JPanel panelBase = new JPanel();
panelBase.setLayout(null);
// ラベルを作成
// 従業員番号
JLabel label1 = new JLabel("従業員番号");
// 位置を設定
label1.setBounds(10, 10, 80, 30);
// 従業員名
JLabel label2 = new JLabel("従業員名");
// 位置を設定
label2.setBounds(10, 50, 80, 30);
// 職種
JLabel label3 = new JLabel("従業員名");
// 位置を設定
label3.setBounds(10, 90, 80, 30);
// テキストを作成
// 従業員番号
text1 = new JTextField("7369");
// サイズを設定
text1.setPreferredSize(new Dimension(100, 14));
// 枠を設定
text1.setBorder(new BevelBorder(BevelBorder.LOWERED));
// 位置を設定
text1.setBounds(100, 10, 80, 30);
// 従業員名
text2 = new JTextField("");
// サイズを設定
text2.setPreferredSize(new Dimension(100, 14));
// 枠を設定
text2.setBorder(new BevelBorder(BevelBorder.LOWERED));
// 位置を設定
text2.setBounds(100, 50, 80, 30);
// 従業員名
text3 = new JTextField("");
// サイズを設定
text3.setPreferredSize(new Dimension(100, 14));
// 枠を設定
text3.setBorder(new BevelBorder(BevelBorder.LOWERED));
// 位置を設定
text3.setBounds(100, 90, 80, 30);
// ボタンを作成
JButton button1 = new JButton("検索");
// 位置を設定
button1.setBounds(200, 10, 80, 30);
// アクションリスナー追加
View03Action action = new View03Action(this);
button1.addActionListener(action);
// パネルに配置
panelBase.add(label1);
panelBase.add(label2);
panelBase.add(label3);
panelBase.add(text1);
panelBase.add(text2);
panelBase.add(text3);
panelBase.add(button1);
// ベースパネルを追加
getContentPane().add(panelBase, BorderLayout.CENTER);
}
}
Action
package eo.sim.tool.action;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import eo.sim.tool.service.EmpService;
import eo.sim.tool.view.View03;
public class View03Action implements ActionListener {
private View03 view;
public View03Action(View03 view) {
this.view = view;
}
// イベントハンドラ (イベント発生時に自動的に呼び出される)
public void actionPerformed(ActionEvent e) {
try {
EmpService empService = new EmpService();
String empName = empService.getEmpName(view.getText1().getText());
String job = empService.getJob(view.getText1().getText());
view.getText2().setText(empName);
view.getText3().setText(job);
} catch (Exception e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}
}
Service
package eo.sim.tool.service;
import com.ibatis.sqlmap.client.SqlMapClient;
import examples.dto.Emp;
import util.MyAppSqlConfig;
public class EmpService {
public String getEmpName(String empno) throws Exception {
SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
/*
* DeptNoを指定して1件のDeptを取得
*/
int intEmpno = (Integer.valueOf(empno)).intValue();
Emp emp = (Emp)sqlMap.queryForObject("getEmpByEmpno",intEmpno);
return emp.getEname();
}
public String getJob(String empno) throws Exception {
SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
/*
* DeptNoを指定して1件のDeptを取得
*/
int intEmpno = (Integer.valueOf(empno)).intValue();
Emp emp = (Emp)sqlMap.queryForObject("getEmpByEmpno",intEmpno);
return emp.getJob();
}
}