package jp.co.test.controller;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.UnsupportedLookAndFeelException;
import jp.co.test.common.Common;
import jp.co.test.common.Constant;
import jp.co.test.common.ReadExcelProcess;
import jp.co.test.logic.ModelCreate;
/**
* ツールの基本処理クラス
*/
public class ToolsAwt extends JFrame implements ActionListener {
/*
* クラスのserialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* 全局変数の定義
*/
// ボタン
public JButton btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn10;
// Labelエリア
public JLabel label1, label2, label3, label4, label5, label6, label7,
label8, label9;
// テキストボックス
public JTextField textField1, textField2, textField3, textField4,
textField5, textField6;
// フォルダ変数
public String folder1, folder2, folder3, folder4, folder5, folder6;
/**
* 主処理
*/
public static void main(String[] arg) {
// ツールクラスの初期化
ToolsAwt toosAwt = new ToolsAwt();
/*
* グリッドウィンドウを新規する
*/
// 容器の初期化
Container contentPane = toosAwt.getContentPane();
// グリッドレイアウトの初期化
GridBagLayout layout = new GridBagLayout();
// 容器にレイアウトモデルを追加する
contentPane.setLayout(layout);
// グリッドウィンドウの容器の初期化
GridBagConstraints gbc = new GridBagConstraints();
// 入力部の作成
toosAwt.gridInputWindow(contentPane, layout, gbc);
// 新規部の作成
toosAwt.gridCreatWindow(contentPane, layout, gbc);
// ソース部の作成
toosAwt.gridSourceWindow(contentPane, layout, gbc);
// アプリケーション終了部
toosAwt.gridExitWindow(contentPane, layout, gbc);
// ウィンドウのタイトルを設定する
toosAwt.setTitle("自動化ツール");
// ウィンドウのサイズを自動調整する
toosAwt.pack();
// ウィンドウの表示位置を設定する
toosAwt.setLocation(350, 300);
// ウィンドウの
toosAwt.setVisible(true);
}
/**
* 入力部の作成する
*
* @param contentPane 容器
* @param layout レイアウトモデル
* @param gbc パラメータクラス
*/
private void gridInputWindow(Container contentPane, GridBagLayout layout,
GridBagConstraints gbc) {
/*
* ウィンドウの入力部のタイトル
*/
// ヘッダー位置:入力パス
gbc.gridx = 0;
gbc.gridy = 0;
// 一行に100つセルを含める
gbc.gridwidth = 100;
// 一列に一つセルを含める
gbc.gridheight = 1;
// エリアのサイズを自動調整する
gbc.fill = GridBagConstraints.BOTH;
// 文字列の横向表示位置(左詰)
gbc.weightx = 2.0;
// 文字列の縱向表示位置(センター:デフォルト値)
gbc.weighty = 0.0;
// ヘッダー行にLabelを追加し、表示される文字列を設定する
label1 = new JLabel("Input情報");
// 表示される文字列のフォントを設定する
label1.setFont(new Font("SansSerif", Font.PLAIN, 18));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 5, 0, 0);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label1, gbc);
// 容器にラベルを追加する
contentPane.add(label1);
/*
* ウィンドウの入力部ファイルの格納パスラベルを指定する部
*/
// 入力詳細部:入力ファイル01のラベル表示部
gbc.gridx = 0;
gbc.gridy = 1;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にLabe2を追加し、表示される文字列を設定する
label2 = new JLabel("テーブル定義書Path");
// 表示される文字列のフォントを設定する
label2.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 30, 0, 0);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label2, gbc);
// 容器にラベルを追加する
contentPane.add(label2);
/*
* ウィンドウの入力部ファイルの格納パスを指定する部
*/
// 入力詳細部:入力ファイル01の格納パス指定部
gbc.gridx = 6;
gbc.gridy = 1;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField1を追加し、表示される文字列を設定する
textField1 = new JTextField("C:\\個人資料\\05_成果物\\ツール\\入力\\テーブル定義書");
// 表示される文字列のフォントを設定する
textField1.setFont(new Font("SansSerif", Font.PLAIN, 12));
// テキストボックスの非活性化制御を設定する
textField1.setEditable(false);
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField1.setBackground(Color.PINK);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField1, gbc);
// 容器にラベルを追加する
contentPane.add(textField1);
/*
* ウィンドウの入力部ファイルの名称を指定する部
*/
// 入力詳細部:入力ファイル01のファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 1;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn1を追加し、表示される文字列を設定する
btn1 = new JButton("SelFile1");
// ボタンに事件追加処理
btn1.addActionListener(this);
// 表示される文字列のフォントを設定する
btn1.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn1.setBackground(Color.PINK);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn1, gbc);
// 容器にラベルを追加する
contentPane.add(btn1);
// 入力詳細部:入力ファイル02のラベル表示部
gbc.gridx = 0;
gbc.gridy = 2;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にlabel3を追加し、表示される文字列を設定する
label3 = new JLabel("テーブル一覧Path");
// 表示される文字列のフォントを設定する
label3.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 30, 0, 0);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label3, gbc);
// 容器にラベルを追加する
contentPane.add(label3);
/*
* ウィンドウの入力部ファイルの格納パスを指定する部
*/
// 入力詳細部:入力ファイル02の格納パス指定部
gbc.gridx = 6;
gbc.gridy = 2;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField2を追加し、表示される文字列を設定する
textField2 = new JTextField("C:\\個人資料\\05_成果物\\ツール\\入力\\テーブル一覧");
// テキストボックスの非活性化制御を設定する
textField2.setEditable(false);
// 表示される文字列のフォントを設定する
textField2.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField2.setBackground(Color.PINK);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField2, gbc);
// 容器にラベルを追加する
contentPane.add(textField2);
/*
* ウィンドウの入力部ファイルの名称を指定する部
*/
// 入力詳細部:入力ファイル02のファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 2;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn2を追加し、表示される文字列を設定する
btn2 = new JButton("SelFile2");
// ボタンに事件追加処理
btn2.addActionListener(this);
// 表示される文字列のフォントを設定する
btn2.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn2.setBackground(Color.PINK);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn2, gbc);
// 容器にラベルを追加する
contentPane.add(btn2);
/*
* 動作ボタンを作成する
*/
// 入力詳細部:指定した入力資料によって、出力ファイルを作成するボタンを追加する
gbc.gridx = 97;
gbc.gridy = 1;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// 一列に2つセルを含める
gbc.gridheight = 2;
// ヘッダー行にbtn7を追加し、表示される文字列を設定する
btn7 = new JButton("Set");
// 表示される文字列のフォントを設定する
btn7.setFont(new Font("SansSerif", Font.PLAIN, 15));
// ボタンに事件追加処理
btn7.addActionListener(this);
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 5, 0, 0);
// エリアの背景色をダークグレーに設定する
btn7.setBackground(Color.CYAN);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn7, gbc);
// 容器にラベルを追加する
contentPane.add(btn7);
}
/**
* 新規部の作成する
*
* @param contentPane 容器
* @param layout レイアウトモデル
* @param gbc パラメータクラス
*/
private void gridCreatWindow(Container contentPane, GridBagLayout layout,
GridBagConstraints gbc) {
/*
* ウィンドウの新規部のタイトル
*/
// ヘッダー位置:新規ファイル
gbc.gridx = 0;
gbc.gridy = 3;
// 一行に100つセルを含める
gbc.gridwidth = 100;
// 一列に一つセルを含める
gbc.gridheight = 1;
// ヘッダー行にlabel4を追加し、表示される文字列を設定する
label4 = new JLabel("Create情報");
// 表示される文字列のフォントを設定する
label4.setFont(new Font("SansSerif", Font.PLAIN, 18));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 5, 0, 0);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label4, gbc);
// 容器にラベルを追加する
contentPane.add(label4);
/*
* ウィンドウの新規部出力ファイルの格納パスラベルを設定する
*/
// 設定詳細部:新規出力情報の指定
gbc.gridx = 0;
gbc.gridy = 4;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にlabel5を追加し、表示される文字列を設定する
label5 = new JLabel("SQL出力格納Path");
// 表示される文字列のフォントを設定する
label5.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 30, 0, 0);
// エリアの背景色をダークグレーに設定する
label5.setBackground(Color.darkGray);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label5, gbc);
// 容器にラベルを追加する
contentPane.add(label5);
/*
* ウィンドウの新規部出力ファイルの格納パスを指定する部
*/
// 設定詳細部:出力情報(保存フォルダ)の指定部
gbc.gridx = 6;
gbc.gridy = 4;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField3を追加し、表示される文字列を設定する
textField3 = new JTextField("C:\\pleiades\\eclipse\\workspace\\nssol_tools\\src\\jp\\co\\nssol\\sql");
// テキストボックスの非活性化制御を設定する
textField3.setEditable(false);
// 表示される文字列のフォントを設定する
textField3.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField3.setBackground(Color.LIGHT_GRAY);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField3, gbc);
// 容器にラベルを追加する
contentPane.add(textField3);
/*
* ウィンドウの新規部出力ファイルの名称を指定する部
*/
// 設定詳細部:出力ファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 4;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn3を追加し、表示される文字列を設定する
btn3 = new JButton("SelFile3");
// ボタンに事件追加処理
btn3.addActionListener(this);
// 表示される文字列のフォントを設定する
btn3.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn3.setBackground(Color.LIGHT_GRAY);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn3, gbc);
// 容器にラベルを追加する
contentPane.add(btn3);
/*
* 動作ボタンを作成する
*/
// 入力詳細部:指定した入力資料によって、出力ファイルを作成するボタンを追加する
gbc.gridx = 97;
gbc.gridy = 4;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn8を追加し、表示される文字列を設定する
btn8 = new JButton("Make");
// 表示される文字列のフォントを設定する
btn8.setFont(new Font("SansSerif", Font.PLAIN, 15));
// ボタンに事件追加処理
btn8.addActionListener(this);
// エリアの背景色をダークグレーに設定する
btn8.setBackground(Color.GREEN);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn8, gbc);
// 容器にラベルを追加する
contentPane.add(btn8);
}
/**
* ソース部の作成する
*
* @param contentPane 容器
* @param layout レイアウトモデル
* @param gbc パラメータクラス
*/
private void gridSourceWindow(Container contentPane, GridBagLayout layout,
GridBagConstraints gbc) {
/*
* ウィンドウのソース部のタイトル
*/
// ヘッダー位置:ソース情報
gbc.gridx = 0;
gbc.gridy = 5;
// 一行に100つセルを含める
gbc.gridwidth = 100;
// 一列に一つセルを含める
gbc.gridheight = 1;
// ヘッダー行にLabelを追加し、表示される文字列を設定する
label6 = new JLabel("Source情報");
// 表示される文字列のフォントを設定する
label6.setFont(new Font("SansSerif", Font.PLAIN, 18));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 5, 0, 0);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label6, gbc);
// 容器にラベルを追加する
contentPane.add(label6);
/*
* ウィンドウのソース部ファイルの格納フォルダラベルを指定する部
*/
// ソース詳細部:出力ソースのラベル01表示部
gbc.gridx = 0;
gbc.gridy = 6;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にlabel7を追加し、表示される文字列を設定する
label7 = new JLabel("DAO出力格納Path");
// 表示される文字列のフォントを設定する
label7.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 25, 0, 0);
// エリアの背景色をダークグレーに設定する
label7.setBackground(Color.darkGray);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label7, gbc);
// 容器にラベルを追加する
contentPane.add(label7);
/*
* ウィンドウのソース部ファイルの格納フォルダを指定する部
*/
// ソース詳細部:出力ソースのファイル01の格納フォルダ
gbc.gridx = 6;
gbc.gridy = 6;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField4を追加し、表示される文字列を設定する
textField4 = new JTextField("C:\\pleiades\\eclipse\\workspace\\nssol_tools\\output\\dao");
// テキストボックスの非活性化制御を設定する
textField4.setEditable(false);
// 表示される文字列のフォントを設定する
textField4.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField4.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField4, gbc);
// 容器にラベルを追加する
contentPane.add(textField4);
/*
* ウィンドウのソース部ファイルの名称を指定する
*/
// ソース詳細部:出力ファイル01のファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 6;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn4を追加し、表示される文字列を設定する
btn4 = new JButton("SelFile4");
// ボタンに事件追加処理
btn4.addActionListener(this);
// 表示される文字列のフォントを設定する
btn4.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn4.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn4, gbc);
// 容器にラベルを追加する
contentPane.add(btn4);
/*
* ウィンドウのソース部ファイルの格納フォルダラベルを指定する部
*/
// ソース詳細部:出力ソースのラベル02表示部
gbc.gridx = 0;
gbc.gridy = 7;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にlabel8を追加し、表示される文字列を設定する
label8 = new JLabel("DTO出力格納Path");
// 表示される文字列のフォントを設定する
label8.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 25, 0, 0);
// エリアの背景色をダークグレーに設定する
label8.setBackground(Color.darkGray);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label8, gbc);
// 容器にラベルを追加する
contentPane.add(label8);
/*
* ウィンドウのソース部ファイルの格納フォルダを指定する部
*/
// ソース詳細部:出力ソースのファイル02の格納フォルダ
gbc.gridx = 6;
gbc.gridy = 7;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField5を追加し、表示される文字列を設定する
textField5 = new JTextField("C:\\pleiades\\eclipse\\workspace\\nssol_tools\\output\\model");
// テキストボックスの非活性化制御を設定する
textField5.setEditable(false);
// 表示される文字列のフォントを設定する
textField5.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField5.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField5, gbc);
// 容器にラベルを追加する
contentPane.add(textField5);
/*
* ウィンドウのソース部ファイルの名称を指定する
*/
// ソース詳細部:出力ファイル02のファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 7;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn5を追加し、表示される文字列を設定する
btn5 = new JButton("SelFile5");
// ボタンに事件追加処理
btn5.addActionListener(this);
// 表示される文字列のフォントを設定する
btn5.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn5.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn5, gbc);
// 容器にラベルを追加する
contentPane.add(btn5);
/*
* ウィンドウのソース部ファイルの格納フォルダラベルを指定する部
*/
// ソース詳細部:出力ソースのラベル03表示部
gbc.gridx = 0;
gbc.gridy = 8;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にlabel9を追加し、表示される文字列を設定する
label9 = new JLabel("Mapping格納Path");
// 表示される文字列のフォントを設定する
label9.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(0, 25, 0, 0);
// エリアの背景色をダークグレーに設定する
label9.setBackground(Color.darkGray);
// レイアウトモデルにラベルを追加する
layout.setConstraints(label9, gbc);
// 容器にラベルを追加する
contentPane.add(label9);
/*
* ウィンドウのソース部ファイルの格納フォルダを指定する部
*/
// ソース詳細部:出力ソースのファイル03の格納フォルダ
gbc.gridx = 6;
gbc.gridy = 8;
// 一行に85つセルを含める
gbc.gridwidth = 85;
// ヘッダー行にtextField6を追加し、表示される文字列を設定する
textField6 = new JTextField("C:\\pleiades\\eclipse\\workspace\\nssol_tools\\output\\mapping");
// テキストボックスの非活性化制御を設定する
textField6.setEditable(false);
// 表示される文字列のフォントを設定する
textField6.setFont(new Font("SansSerif", Font.PLAIN, 12));
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 2, 0, 0);
// エリアの背景色をダークグレーに設定する
textField6.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(textField6, gbc);
// 容器にラベルを追加する
contentPane.add(textField6);
/*
* ウィンドウのソース部ファイルの名称を指定する
*/
// ソース詳細部:出力ファイル03のファイル名称を指定部
gbc.gridx = 91;
gbc.gridy = 8;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// ヘッダー行にbtn6を追加し、表示される文字列を設定する
btn6 = new JButton("SelFile6");
// ボタンに事件追加処理
btn6.addActionListener(this);
// 表示される文字列のフォントを設定する
btn6.setFont(new Font("SansSerif", Font.PLAIN, 12));
// エリアの背景色をダークグレーに設定する
btn6.setBackground(Color.ORANGE);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn6, gbc);
// 容器にラベルを追加する
contentPane.add(btn6);
/*
* 動作ボタンを作成する
*/
// 入力詳細部:指定した入力資料によって、出力ファイルを作成するボタンを追加する
gbc.gridx = 97;
gbc.gridy = 6;
// 一行に5つセルを含める
gbc.gridwidth = 5;
// 一列に2つセルを含める
gbc.gridheight = 3;
// ヘッダー行にbtn9を追加し、表示される文字列を設定する
btn9 = new JButton("Source");
// 表示される文字列のフォントを設定する
btn9.setFont(new Font("SansSerif", Font.PLAIN, 15));
// ボタンに事件追加処理
btn9.addActionListener(this);
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 5, 0, 0);
// エリアの背景色をダークグレーに設定する
btn9.setBackground(Color.MAGENTA);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn9, gbc);
// 容器にラベルを追加する
contentPane.add(btn9);
}
/**
* アプリケーション終了処理ボタン
*
* @param contentPane 容器
* @param layout レイアウトモデル
* @param gbc パラメータクラス
*/
private void gridExitWindow(Container contentPane, GridBagLayout layout,
GridBagConstraints gbc) {
/*
* 動作ボタンを作成する
*/
// 入力詳細部:指定した入力資料によって、出力ファイルを作成するボタンを追加する
gbc.gridx = 97;
gbc.gridy = 9;
// 一行に5つセルを含める
gbc.gridwidth = 1;
// 一列に2つセルを含める
gbc.gridheight = 1;
// ヘッダー行にbtn9を追加し、表示される文字列を設定する
btn10 = new JButton("Exit");
// 表示される文字列のフォントを設定する
btn10.setFont(new Font("SansSerif", Font.PLAIN, 18));
// ボタンに事件追加処理
btn10.addActionListener(this);
// レイアウトのパディングを設定する
gbc.insets = new Insets(5, 5, 0, 0);
// エリアの背景色をダークグレーに設定する
btn10.setBackground(Color.GRAY);
// レイアウトモデルにラベルを追加する
layout.setConstraints(btn10, gbc);
// 容器にラベルを追加する
contentPane.add(btn10);
}
/**
* ボタンに事件の追加処理
*/
@Override
public void actionPerformed(ActionEvent e) {
try {
// ファイル選択または保存ウィンドウを開くボタン数組みの初期化
JButton[] btnArr = new JButton[] { btn1, btn2, btn3, btn4, btn5, btn6 };
// ファイル選択ボタンに対応するテキストボックス数組みの初期化
JTextField[] textFieldArr = new JTextField[] { textField1, textField2,
textField3, textField4, textField5, textField6 };
// ボタンをクリックするによって、相応処理を続く
for (int i = 0; i < btnArr.length; i++) {
if (btnArr[i] == e.getSource()) {
// ファイル選択ウィンドウを開く
Common.openWindow(btnArr[i], textFieldArr[i]);
break;
}
}
// exitボタンを押下したら、アプリケーションを終了する
if (btn10 == e.getSource()) {
// 処理終了
System.exit(Constant.STATUS_EXIT);
}
// 読込後データリスト
List<List<List<Object>>> dataList = null;
// 入力情報Ⅰの選択した格納フォルダ
folder1 = textField1.getText();
// 入力情報Ⅱの選択した格納フォルダ
folder2 = textField2.getText();
// 新規情報の選択した保存フォルダ
folder3 = textField3.getText();
// 出力情報DTOの選択した格納フォルダ
folder4 = textField4.getText();
// 出力情報DAOの選択した格納フォルダ
folder5 = textField5.getText();
// 出力情報SQLの選択した格納フォルダ
folder6 = textField6.getText();
// 指定した入力フォルダに全てのExcelファイルを取得する
if (btn8 == e.getSource() || btn9 == e.getSource()) {
// 入力ファイルリスト
List<File> fileList = null;
dataList = new ArrayList<List<List<Object>>>();
// ファイルリストの初期化
fileList = new ArrayList<File>();
// 入力ファイル1の読込
if (!folder1.endsWith(Constant.FOLDER_END)) {
// ファイルに
fileList = Common.getFiles(folder1);
}
// 入力ファイルのデータ読込処理
if (fileList != null && 0 < fileList.size()) {
for (int i = 0;i < fileList.size();i++) {
// 全てのファイル
dataList.add(ReadExcelProcess.readExcel(fileList.get(i)));
}
}
}
// ファイルの初期化
File file = null;
// Source情報処理
if (dataList != null && 0 < dataList.size()) {
// モデルファイル出力
if (e.getSource() == btn9) {
ModelCreate.modelCreate(file, dataList, folder5);
}
}
} catch (IOException e1) {
e1.getMessage();
} catch (ClassNotFoundException e1) {
// 自動生成された catch ブロック
e1.getMessage();
} catch (InstantiationException e1) {
// 自動生成された catch ブロック
} catch (IllegalAccessException e1) {
// 自動生成された catch ブロック
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
// 自動生成された catch ブロック
e1.printStackTrace();
}
}
}