OSDN Git Service

d48c87213aa61e6ff6b676d18a0d1a41497cef09
[hayashilib/hayashi.git] / src / jp / co / areaweb / tools / gui / Manager.java
1 package jp.co.areaweb.tools.gui;\r
2 import java.awt.*;\r
3 import java.io.*;\r
4 import javax.swing.*;\r
5 \r
6 /**\r
7  * 本プログラムのメインクラス\r
8  */\r
9 @SuppressWarnings("serial")\r
10 public class Manager extends JFrame\r
11 {\r
12         public static final String PROGRAM_NAME = "ミニプログラム";\r
13         public static final String PROGRAM_VARSION = "0.1";\r
14         public static final String PROGRAM_UPDATE = "2006/03/13";\r
15         \r
16     // Used for addNotify check.\r
17     boolean fComponentsAdjusted = false;\r
18     \r
19     //{{DECLARE_CONTROLS\r
20     JTextArea textArea;\r
21     //JTextPane textPane;\r
22     //}}\r
23 \r
24     //{{DECLARE_MENUS\r
25     java.awt.MenuBar mainMenuBar;\r
26     java.awt.Menu menu1;\r
27     java.awt.MenuItem miDoNewFileList;\r
28     java.awt.MenuItem miDoDirSize;\r
29     java.awt.MenuItem miDoReadXML;\r
30     java.awt.MenuItem miExit;\r
31     java.awt.Menu menu3;\r
32     java.awt.MenuItem miAbout;\r
33     //}}\r
34 \r
35     class SymWindow extends java.awt.event.WindowAdapter {\r
36         /**\r
37          * このFrameが閉じられるときの動作。\r
38          * 終了確認のパネルを表示して、[OK]が押されたら終了する\r
39          */\r
40         public void windowClosing(java.awt.event.WindowEvent event) {\r
41             Object object = event.getSource();\r
42             if (object == Manager.this)\r
43                 DbMang_WindowClosing(event);\r
44         }\r
45     }\r
46 \r
47     class SymAction implements java.awt.event.ActionListener {\r
48         public void actionPerformed(java.awt.event.ActionEvent event) {\r
49             Object object = event.getSource();\r
50             if (object == miAbout) {\r
51                 miAbout_Action(event);\r
52             }\r
53             else if (object == miDoNewFileList) {\r
54                 miDoNewFileList_Action(event);\r
55             }\r
56             else if (object == miDoDirSize) {\r
57                 miDoDirSize_Action(event);\r
58             }\r
59             else if (object == miDoReadXML) {\r
60                 miDoReadXML_Action(event);\r
61             }\r
62             else if (object == miExit) {\r
63                 miExit_Action(event);\r
64             }\r
65         }\r
66     }\r
67 \r
68         /**\r
69          * データベース内のテーブルを一覧で表示するFrame\r
70          */\r
71     public Manager()\r
72     {\r
73         // INIT_CONTROLS\r
74         //setLayout(new BorderLayout());\r
75         Container container = getContentPane();\r
76         container.setLayout(new BorderLayout());\r
77         setVisible(false);\r
78         setSize(getInsets().left + getInsets().right + 500,getInsets().top + getInsets().bottom + 480);\r
79         setTitle(Manager.PROGRAM_NAME +" v"+ Manager.PROGRAM_VARSION);\r
80         \r
81         // 説明文\r
82         textArea = new JTextArea(5,20);\r
83         textArea.setEditable(false);\r
84         try {\r
85             textArea.append("1.メニュー[File]-["+ NewFileListDialog.TITLE +"]\n");\r
86             textArea.append("\t指定された時刻以降に更新されたファイルをリストアップする\n");\r
87             textArea.append("\n\n");\r
88 \r
89             textArea.append("2.メニュー[File]-["+ DirSizeDialog.TITLE +"]\n");\r
90             textArea.append("\tディレクトリのファイル利用量を調べる\n");\r
91             textArea.append("\n\n");\r
92 \r
93             textArea.append("3.メニュー[File]-["+ ReadXMLDialog.TITLE +"]\n");\r
94             textArea.append("\tファイルが整形式XML文書であるかどうかを調べる\n");\r
95             textArea.append("\n\n");\r
96 \r
97             BufferedReader br = new BufferedReader(new FileReader(new File("README.txt")));\r
98             String line;\r
99             while((line = br.readLine()) != null) {\r
100                 textArea.append(line + "\n");\r
101             }\r
102             br.close();\r
103         }\r
104         catch (Exception e) {\r
105             System.out.println(e.toString());\r
106             textArea.append(e.toString());\r
107         }\r
108         this.getContentPane().add("Center", textArea);\r
109         \r
110         // INIT_MENUS\r
111         menu1 = new java.awt.Menu("File");\r
112         miDoNewFileList = new java.awt.MenuItem(NewFileListDialog.TITLE);\r
113         miDoNewFileList.setFont(new Font("Dialog", Font.PLAIN, 12));\r
114         menu1.add(miDoNewFileList);\r
115         miDoDirSize = new java.awt.MenuItem(DirSizeDialog.TITLE);\r
116         miDoDirSize.setFont(new Font("Dialog", Font.PLAIN, 12));\r
117         menu1.add(miDoDirSize);\r
118         miDoReadXML = new java.awt.MenuItem(ReadXMLDialog.TITLE);\r
119         miDoReadXML.setFont(new Font("Dialog", Font.PLAIN, 12));\r
120         menu1.add(miDoReadXML);\r
121         \r
122         miExit = new java.awt.MenuItem("Quit");\r
123         miExit.setFont(new Font("Dialog", Font.PLAIN, 12));\r
124         menu1.add(miExit);\r
125 \r
126         miAbout = new java.awt.MenuItem("About Manager...");\r
127         miAbout.setFont(new Font("Dialog", Font.PLAIN, 12));\r
128 \r
129         menu3 = new java.awt.Menu("Help");\r
130         menu3.setFont(new Font("Dialog", Font.PLAIN, 12));\r
131         menu3.add(miAbout);\r
132 \r
133         mainMenuBar = new java.awt.MenuBar();\r
134         mainMenuBar.setHelpMenu(menu3);\r
135         mainMenuBar.add(menu1);\r
136         mainMenuBar.add(menu3);\r
137         setMenuBar(mainMenuBar);\r
138         \r
139 \r
140         //{{REGISTER_LISTENERS\r
141         SymWindow aSymWindow = new SymWindow();\r
142         this.addWindowListener(aSymWindow);\r
143         SymAction lSymAction = new SymAction();\r
144         miAbout.addActionListener(lSymAction);\r
145         miDoNewFileList.addActionListener(lSymAction);\r
146         miDoDirSize.addActionListener(lSymAction);\r
147         miDoReadXML.addActionListener(lSymAction);\r
148         miExit.addActionListener(lSymAction);\r
149         //}}\r
150     }\r
151 \r
152     /**\r
153      * Shows or hides the component depending on the boolean flag b.\r
154      * @param b trueのときコンポーネントを表示; その他のとき, componentを隠す.\r
155      * @see java.awt.Component#isVisible\r
156      */\r
157     public void setVisible(boolean b) {\r
158         if(b) {\r
159             setLocation(50, 50);\r
160             \r
161         }\r
162         super.setVisible(b);\r
163     }\r
164 \r
165         /**\r
166          * このクラスをインスタンスを生成して表示する。\r
167          * コマンドラインの引数はありません。\r
168          * @param args  parameter\r
169          */    \r
170     static public void main(String args[]) {\r
171         (new Manager()).setVisible(true);\r
172     }\r
173 \r
174     public void addNotify()     {\r
175         // Record the size of the window prior to calling parents addNotify.\r
176         Dimension d = getSize();\r
177 \r
178         super.addNotify();\r
179 \r
180         if (fComponentsAdjusted)\r
181             return;\r
182 \r
183         // Adjust components according to the insets\r
184         setSize(getInsets().left + getInsets().right + d.width, getInsets().top + getInsets().bottom + d.height);\r
185         Component components[] = getComponents();\r
186         for (int i = 0; i < components.length; i++){\r
187             Point p = components[i].getLocation();\r
188             p.translate(getInsets().left, getInsets().top);\r
189             components[i].setLocation(p);\r
190         }\r
191         fComponentsAdjusted = true;\r
192     }\r
193 \r
194     void DbMang_WindowClosing(java.awt.event.WindowEvent event) {\r
195         setVisible(false);  // hide the Manager\r
196         dispose();                      // free the system resources\r
197         System.exit(0);         // close the application\r
198     }\r
199 \r
200     void miAbout_Action(java.awt.event.ActionEvent event) {\r
201         // Action from About Create and show as modal\r
202         (new AboutDialog(this, true)).setVisible(true);\r
203     }\r
204     \r
205     /**\r
206      * メニュー[NewFileList]をセレクトしたときの動作\r
207      * @param event\r
208      */\r
209     void miDoNewFileList_Action(java.awt.event.ActionEvent event) {\r
210         (new NewFileListDialog(this)).setVisible(true);\r
211     }\r
212     \r
213     /**\r
214      * メニュー[DirSize]をセレクトしたときの動作\r
215      * @param event\r
216      */\r
217     void miDoDirSize_Action(java.awt.event.ActionEvent event) {\r
218         (new DirSizeDialog(this)).setVisible(true);\r
219     }\r
220     \r
221     /**\r
222      * メニュー[ReadXML]をセレクトしたときの動作\r
223      * @param event\r
224      */\r
225     void miDoReadXML_Action(java.awt.event.ActionEvent event) {\r
226         (new ReadXMLDialog(this)).setVisible(true);\r
227     }\r
228     \r
229     \r
230     void miExit_Action(java.awt.event.ActionEvent event) {\r
231         // Action from Exit Create and show as modal\r
232         (new QuitDialog(this, true)).setVisible(true);\r
233     }\r
234 }\r