CMainWindow.java
上传用户:shunchung
上传日期:2013-04-07
资源大小:438k
文件大小:18k
源码类别:

手机短信编程

开发平台:

Java

  1. // jSMSEngine API.
  2. // An open-source API package for sending and receiving SMS via a GSM device.
  3. // Copyright (C) 2002-2006, Thanasis Delenikas, Athens/GREECE
  4. // Web Site: http://www.jsmsengine.org
  5. //
  6. // jSMSEngine is a package which can be used in order to add SMS processing
  7. // capabilities in an application. jSMSEngine is written in Java. It allows you
  8. // to communicate with a compatible mobile phone or GSM Modem, and
  9. // send / receive SMS messages.
  10. //
  11. // jSMSEngine is distributed under the LGPL license.
  12. //
  13. // This library is free software; you can redistribute it and/or
  14. // modify it under the terms of the GNU Lesser General Public
  15. // License as published by the Free Software Foundation; either
  16. // version 2.1 of the License, or (at your option) any later version.
  17. // This library is distributed in the hope that it will be useful,
  18. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20. // Lesser General Public License for more details.
  21. // You should have received a copy of the GNU Lesser General Public
  22. // License along with this library; if not, write to the Free Software
  23. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  24. //
  25. //
  26. // jSMSServer GUI Application.
  27. // This application is based on the old jSMSServer GUI, and provides a general purpose
  28. // graphical interface. It can be used for a quick-start, if you don't want
  29. // to mess around with the API itself.
  30. // Please read jSMSServer.txt for further information.
  31. //
  32. import java.io.*;
  33. import java.util.*;
  34. import java.awt.*;
  35. import java.awt.event.*;
  36. import java.awt.geom.*;
  37. import javax.swing.*;
  38. import javax.swing.event.*;
  39. class CMainWindow extends JFrame
  40. {
  41. private CSettings settings;
  42. private jSMSServer jSmsServer;
  43. private CMainThread service;
  44. private CAboutDialog aboutDialog = null;
  45. private JMenuBar menuBar;
  46. private JMenu fileMenu, aboutMenu;
  47. private JMenuItem mniConnect, mniDisconnect, mniExit;
  48. private JMenuItem mniAbout;
  49. private JLabel lblManuf, lblModel, lblSerialNo, lblIMSI, lblSwVersion, lblBattery, lblSignal, lblStatus;
  50. private JTextField txtManuf, txtModel, txtSerialNo, txtIMSI, txtSwVersion, txtStatus;
  51. private JProgressBar pgbBattery, pgbSignal;
  52. private JLabel lblInFrom, lblInDate, lblInText;
  53. private JTextField txtInFrom, txtInDate;
  54. private JTextArea txtInText;
  55. private JLabel lblOutTo, lblOutDate, lblOutText;
  56. private JTextField txtOutTo, txtOutDate;
  57. private JTextArea txtOutText;
  58. private JLabel lblUpSince, lblTraffic, lblTrafficIn, lblTrafficOut;
  59. private JTextField txtUpSince, txtTrafficIn, txtTrafficOut;
  60. private JLabel lblInterfaces, lblInterfaceDB, lblInterfaceXML, lblInterfaceRMI;
  61. private JLabel lblRawLogs, lblRawInLog, lblRawOutLog;
  62. public CMainWindow(jSMSServer jSmsServer, CSettings settings)
  63. {
  64. this.jSmsServer = jSmsServer;
  65. this.settings = settings;
  66. this.settings.setMainWindow(this);
  67. service = new CUserThread(jSmsServer, this, settings);
  68. setTitle(CConstants.MAIN_WINDOW_TITLE);
  69. setSize(750, 580);
  70. setLocation(5, 5);
  71. getContentPane().setLayout(new GridBagLayout());
  72. menuBar = new JMenuBar();
  73. fileMenu = new JMenu(CConstants.MENU_FILE_MAIN);
  74. mniConnect = new JMenuItem(CConstants.MENU_FILE_OPTION_01);
  75. mniConnect.addActionListener(new
  76. ActionListener()
  77. {
  78. public void actionPerformed(ActionEvent event)
  79. {
  80. service.connect(true);
  81. }
  82. });
  83. mniDisconnect = new JMenuItem(CConstants.MENU_FILE_OPTION_02);
  84. mniDisconnect.addActionListener(new
  85. ActionListener()
  86. {
  87. public void actionPerformed(ActionEvent event)
  88. {
  89. service.disconnect(true);
  90. }
  91. });
  92. mniExit = new JMenuItem(CConstants.MENU_FILE_OPTION_99);
  93. mniExit.addActionListener(new
  94. ActionListener()
  95. {
  96. public void actionPerformed(ActionEvent event)
  97. {
  98. System.exit(0);
  99. }
  100. });
  101. fileMenu.add(mniConnect);
  102. fileMenu.add(mniDisconnect);
  103. fileMenu.addSeparator();
  104. fileMenu.add(mniExit);
  105. menuBar.add(fileMenu);
  106. aboutMenu = new JMenu(CConstants.MENU_ABOUT_MAIN);
  107. mniAbout = new JMenuItem(CConstants.MENU_ABOUT_OPTION_01);
  108. mniAbout.addActionListener(new
  109. ActionListener()
  110. {
  111. public void actionPerformed(ActionEvent event)
  112. {
  113. if (aboutDialog == null) aboutDialog = new CAboutDialog(CMainWindow.this);
  114. aboutDialog.setVisible(true);
  115. }
  116. });
  117. aboutMenu.add(mniAbout);
  118. menuBar.add(aboutMenu);
  119. setJMenuBar(menuBar);
  120. GridBagConstraints gbc = new GridBagConstraints();
  121. gbc.anchor = GridBagConstraints.WEST;
  122. gbc.weightx = 100;
  123. gbc.weighty = 100;
  124. gbc.gridx = 0;
  125. gbc.gridy = 0;
  126. gbc.gridwidth = 1;
  127. gbc.gridheight = 1;
  128. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.right = 5;
  129. JPanel statusPanel = new JPanel();
  130. statusPanel.setLayout(new GridBagLayout());
  131. lblManuf = new JLabel(CConstants.LABEL_MANUFACTURER, JLabel.LEFT);
  132. txtManuf = new JTextField("", 16);
  133. txtManuf.setEditable(false);
  134. gbc.gridx = 0;
  135. gbc.gridy = 0;
  136. statusPanel.add(lblManuf, gbc);
  137. gbc.gridx = 1;
  138. gbc.gridy = 0;
  139. statusPanel.add(txtManuf, gbc);
  140. lblModel = new JLabel(CConstants.LABEL_MODEL, JLabel.LEFT);
  141. txtModel = new JTextField("", 16);
  142. txtModel.setEditable(false);
  143. gbc.gridx = 0;
  144. gbc.gridy = 1;
  145. statusPanel.add(lblModel, gbc);
  146. gbc.gridx = 1;
  147. gbc.gridy = 1;
  148. statusPanel.add(txtModel, gbc);
  149. lblSerialNo = new JLabel(CConstants.LABEL_SERIALNO, JLabel.LEFT);
  150. txtSerialNo = new JTextField("", 20);
  151. txtSerialNo.setEditable(false);
  152. gbc.gridx = 0;
  153. gbc.gridy = 2;
  154. statusPanel.add(lblSerialNo, gbc);
  155. gbc.gridx = 1;
  156. gbc.gridy = 2;
  157. statusPanel.add(txtSerialNo, gbc);
  158. lblIMSI = new JLabel(CConstants.LABEL_IMSI, JLabel.LEFT);
  159. txtIMSI = new JTextField("", 20);
  160. txtIMSI.setEditable(false);
  161. gbc.gridx = 0;
  162. gbc.gridy = 3;
  163. statusPanel.add(lblIMSI, gbc);
  164. gbc.gridx = 1;
  165. gbc.gridy = 3;
  166. statusPanel.add(txtIMSI, gbc);
  167. lblSwVersion = new JLabel(CConstants.LABEL_SWVERSION, JLabel.LEFT);
  168. txtSwVersion = new JTextField("", 20);
  169. txtSwVersion.setEditable(false);
  170. gbc.gridx = 0;
  171. gbc.gridy = 4;
  172. statusPanel.add(lblSwVersion, gbc);
  173. gbc.gridx = 1;
  174. gbc.gridy = 4;
  175. statusPanel.add(txtSwVersion, gbc);
  176. gbc.insets.top = 15;
  177. lblBattery = new JLabel(CConstants.LABEL_BATTERY, JLabel.LEFT);
  178. pgbBattery = new JProgressBar(0, 100);
  179. pgbBattery.setStringPainted(true);
  180. gbc.gridx = 0;
  181. gbc.gridy = 5;
  182. statusPanel.add(lblBattery, gbc);
  183. gbc.gridx = 1;
  184. gbc.gridy = 5;
  185. statusPanel.add(pgbBattery, gbc);
  186. gbc.insets.top = 5;
  187. lblSignal = new JLabel(CConstants.LABEL_SIGNAL, JLabel.LEFT);
  188. pgbSignal = new JProgressBar(0, 100);
  189. pgbSignal.setStringPainted(true);
  190. gbc.gridx = 0;
  191. gbc.gridy = 6;
  192. statusPanel.add(lblSignal, gbc);
  193. gbc.gridx = 1;
  194. gbc.gridy = 6;
  195. statusPanel.add(pgbSignal, gbc);
  196. gbc.insets.top = 15;
  197. gbc.insets.bottom = 8;
  198. lblStatus = new JLabel(CConstants.LABEL_STATUS, JLabel.LEFT);
  199. txtStatus = new JTextField(CConstants.STATUS_DISCONNECTED, 20);
  200. txtStatus.setEditable(false);
  201. txtStatus.setHorizontalAlignment(JTextField.CENTER);
  202. txtStatus.setFont(new Font("SansSerif", Font.BOLD, 12));
  203. gbc.gridx = 0;
  204. gbc.gridy = 7;
  205. statusPanel.add(lblStatus, gbc);
  206. gbc.gridx = 1;
  207. gbc.gridy = 7;
  208. statusPanel.add(txtStatus, gbc);
  209. statusPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), CConstants.BORDER_MOBILE_INFORMATION));
  210. gbc.anchor = GridBagConstraints.NORTH;
  211. gbc.weightx = 100;
  212. gbc.weighty = 100;
  213. gbc.gridx = 0;
  214. gbc.gridy = 0;
  215. gbc.gridwidth = 1;
  216. gbc.gridheight = 1;
  217. gbc.insets.left = 5; gbc.insets.top = 5;
  218. getContentPane().add(statusPanel, gbc);
  219. gbc = new GridBagConstraints();
  220. gbc.anchor = GridBagConstraints.WEST;
  221. gbc.weightx = 100;
  222. gbc.weighty = 100;
  223. gbc.gridx = 0;
  224. gbc.gridy = 0;
  225. gbc.gridwidth = 1;
  226. gbc.gridheight = 1;
  227. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.right = 5;
  228. JPanel incomingPanel = new JPanel();
  229. incomingPanel.setLayout(new GridBagLayout());
  230. lblInFrom = new JLabel(CConstants.LABEL_INCOMING_FROM, JLabel.LEFT);
  231. txtInFrom = new JTextField("", 16);
  232. txtInFrom.setEditable(false);
  233. gbc.gridx = 0;
  234. gbc.gridy = 0;
  235. incomingPanel.add(lblInFrom, gbc);
  236. gbc.gridx = 1;
  237. gbc.gridy = 0;
  238. incomingPanel.add(txtInFrom, gbc);
  239. lblInDate = new JLabel(CConstants.LABEL_INCOMING_DATE, JLabel.LEFT);
  240. txtInDate = new JTextField("", 20);
  241. txtInDate.setEditable(false);
  242. gbc.gridx = 0;
  243. gbc.gridy = 1;
  244. incomingPanel.add(lblInDate, gbc);
  245. gbc.gridx = 1;
  246. gbc.gridy = 1;
  247. incomingPanel.add(txtInDate, gbc);
  248. gbc.insets.bottom = 19;
  249. lblInText = new JLabel(CConstants.LABEL_INCOMING_TEXT, JLabel.LEFT);
  250. txtInText = new JTextArea(8, 20);
  251. txtInText.setEditable(false);
  252. txtInText.setLineWrap(true);
  253. gbc.gridx = 0;
  254. gbc.gridy = 2;
  255. incomingPanel.add(lblInText, gbc);
  256. gbc.gridx = 1;
  257. gbc.gridy = 2;
  258. gbc.gridheight = 8;
  259. incomingPanel.add(txtInText, gbc);
  260. incomingPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), CConstants.BORDER_INCOMING_MESSAGES));
  261. gbc.anchor = GridBagConstraints.NORTH;
  262. gbc.weightx = 100;
  263. gbc.weighty = 100;
  264. gbc.gridx = 1;
  265. gbc.gridy = 0;
  266. gbc.gridwidth = 1;
  267. gbc.gridheight = 1;
  268. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.bottom = 5;
  269. getContentPane().add(incomingPanel, gbc);
  270. gbc = new GridBagConstraints();
  271. gbc.anchor = GridBagConstraints.WEST;
  272. gbc.weightx = 100;
  273. gbc.weighty = 100;
  274. gbc.gridx = 0;
  275. gbc.gridy = 0;
  276. gbc.gridwidth = 1;
  277. gbc.gridheight = 1;
  278. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.right = 5;
  279. JPanel outgoingPanel = new JPanel();
  280. outgoingPanel.setLayout(new GridBagLayout());
  281. lblOutTo = new JLabel(CConstants.LABEL_OUTGOING_TO, JLabel.LEFT);
  282. txtOutTo = new JTextField("", 16);
  283. txtOutTo.setEditable(false);
  284. gbc.gridx = 0;
  285. gbc.gridy = 0;
  286. outgoingPanel.add(lblOutTo, gbc);
  287. gbc.gridx = 1;
  288. gbc.gridy = 0;
  289. outgoingPanel.add(txtOutTo, gbc);
  290. lblOutDate = new JLabel(CConstants.LABEL_OUTGOING_DATE, JLabel.LEFT);
  291. txtOutDate = new JTextField("", 20);
  292. txtOutDate.setEditable(false);
  293. gbc.gridx = 0;
  294. gbc.gridy = 1;
  295. outgoingPanel.add(lblOutDate, gbc);
  296. gbc.gridx = 1;
  297. gbc.gridy = 1;
  298. outgoingPanel.add(txtOutDate, gbc);
  299. gbc.insets.bottom = 19;
  300. lblOutText = new JLabel(CConstants.LABEL_OUTGOING_TEXT, JLabel.LEFT);
  301. txtOutText = new JTextArea(8, 20);
  302. txtOutText.setEditable(false);
  303. txtOutText.setLineWrap(true);
  304. gbc.gridx = 0;
  305. gbc.gridy = 2;
  306. outgoingPanel.add(lblOutText, gbc);
  307. gbc.gridx = 1;
  308. gbc.gridy = 2;
  309. gbc.gridheight = 8;
  310. outgoingPanel.add(txtOutText, gbc);
  311. outgoingPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), CConstants.BORDER_OUTGOING_MESSAGES));
  312. gbc.anchor = GridBagConstraints.NORTH;
  313. gbc.weightx = 150;
  314. gbc.weighty = 150;
  315. gbc.gridx = 1;
  316. gbc.gridy = 1;
  317. gbc.gridwidth = 1;
  318. gbc.gridheight = 1;
  319. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.bottom = 5;
  320. getContentPane().add(outgoingPanel, gbc);
  321. gbc = new GridBagConstraints();
  322. gbc.anchor = GridBagConstraints.WEST;
  323. gbc.weightx = 100;
  324. gbc.weighty = 100;
  325. gbc.gridx = 0;
  326. gbc.gridy = 0;
  327. gbc.gridwidth = 1;
  328. gbc.gridheight = 1;
  329. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.right = 5;
  330. JPanel statsPanel = new JPanel();
  331. statsPanel.setLayout(new GridBagLayout());
  332. lblUpSince = new JLabel(CConstants.LABEL_UP_SINCE, JLabel.LEFT);
  333. txtUpSince = new JTextField("", 17);
  334. txtUpSince.setEditable(false);
  335. gbc.gridx = 0;
  336. gbc.gridy = 0;
  337. statsPanel.add(lblUpSince, gbc);
  338. gbc.gridx = 1;
  339. gbc.gridy = 0;
  340. gbc.anchor = GridBagConstraints.EAST;
  341. statsPanel.add(txtUpSince, gbc);
  342. gbc.anchor = GridBagConstraints.WEST;
  343. lblTraffic = new JLabel(CConstants.LABEL_TRAFFIC, JLabel.LEFT);
  344. lblTrafficIn = new JLabel(CConstants.LABEL_TRAFFIC_IN, JLabel.LEFT);
  345. lblTrafficOut = new JLabel(CConstants.LABEL_TRAFFIC_OUT, JLabel.LEFT);
  346. txtTrafficIn = new JTextField(CConstants.TEXT_ZERO, 5);
  347. txtTrafficIn.setEditable(false);
  348. txtTrafficIn.setHorizontalAlignment(JTextField.RIGHT);
  349. txtTrafficOut = new JTextField(CConstants.TEXT_ZERO, 5);
  350. txtTrafficOut.setEditable(false);
  351. txtTrafficOut.setHorizontalAlignment(JTextField.RIGHT);
  352. JPanel tempPanel = new JPanel();
  353. tempPanel.add(lblTrafficIn);
  354. tempPanel.add(txtTrafficIn);
  355. tempPanel.add(lblTrafficOut);
  356. tempPanel.add(txtTrafficOut);
  357. gbc.gridx = 0;
  358. gbc.gridy = 1;
  359. statsPanel.add(lblTraffic, gbc);
  360. gbc.gridx = 1;
  361. gbc.gridy = 1;
  362. gbc.anchor = GridBagConstraints.EAST;
  363. statsPanel.add(tempPanel, gbc);
  364. lblInterfaces = new JLabel(CConstants.LABEL_INTERFACES, JLabel.LEFT);
  365. lblInterfaceDB = new JLabel(CConstants.LABEL_INTERFACE_DB_OFF, JLabel.LEFT);
  366. lblInterfaceXML = new JLabel(CConstants.LABEL_INTERFACE_XML_OFF, JLabel.LEFT);
  367. lblInterfaceRMI = new JLabel(CConstants.LABEL_INTERFACE_RMI_OFF, JLabel.LEFT);
  368. JPanel tempPanel1 = new JPanel();
  369. tempPanel1.add(lblInterfaceDB);
  370. tempPanel1.add(lblInterfaceXML);
  371. tempPanel1.add(lblInterfaceRMI);
  372. gbc.anchor = GridBagConstraints.WEST;
  373. gbc.gridx = 0;
  374. gbc.gridy = 2;
  375. statsPanel.add(lblInterfaces, gbc);
  376. gbc.anchor = GridBagConstraints.EAST;
  377. gbc.gridx = 1;
  378. gbc.gridy = 2;
  379. statsPanel.add(tempPanel1, gbc);
  380. lblRawLogs = new JLabel(CConstants.LABEL_RAW_LOGS, JLabel.LEFT);
  381. lblRawInLog = new JLabel(CConstants.LABEL_IN_RAW_LOG_OFF, JLabel.LEFT);
  382. lblRawOutLog = new JLabel(CConstants.LABEL_OUT_RAW_LOG_OFF, JLabel.LEFT);
  383. JPanel tempPanel2 = new JPanel();
  384. tempPanel2.add(lblRawInLog);
  385. tempPanel2.add(lblRawOutLog);
  386. gbc.anchor = GridBagConstraints.WEST;
  387. gbc.gridx = 0;
  388. gbc.gridy = 3;
  389. statsPanel.add(lblRawLogs, gbc);
  390. gbc.anchor = GridBagConstraints.EAST;
  391. gbc.gridx = 1;
  392. gbc.gridy = 3;
  393. statsPanel.add(tempPanel2, gbc);
  394. statsPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), CConstants.BORDER_STATISTICS));
  395. gbc.anchor = GridBagConstraints.CENTER;
  396. gbc.weightx = 100;
  397. gbc.weighty = 100;
  398. gbc.gridx = 0;
  399. gbc.gridy = 1;
  400. gbc.gridwidth = 1;
  401. gbc.gridheight = 1;
  402. gbc.insets.left = 5; gbc.insets.top = 5; gbc.insets.bottom = 5;
  403. getContentPane().add(statsPanel, gbc);
  404. service.initialize();
  405. }
  406. public void setStatusText(String text) { this.txtStatus.setText(text); repaint(); }
  407. public void setManufText(String text) { this.txtManuf.setText(text); }
  408. public void setModelText(String text) { this.txtModel.setText(text); }
  409. public void setSerialNoText(String text) { this.txtSerialNo.setText(text); }
  410. public void setIMSIText(String text) { this.txtIMSI.setText(text); }
  411. public void setSwVersionText(String text) { this.txtSwVersion.setText(text); }
  412. public void setBatteryIndicator(int battery) { this.pgbBattery.setValue(battery); }
  413. public void setSignalIndicator(int signal) { this.pgbSignal.setValue(signal); }
  414. public void setInFrom(String inFrom) { this.txtInFrom.setText(inFrom); }
  415. public void setInDate(String inDate) { this.txtInDate.setText(inDate); }
  416. public void setInText(String inText) { this.txtInText.setText(inText); }
  417. public void setOutTo(String outTo) { this.txtOutTo.setText(outTo); }
  418. public void setOutDate(String outDate) { this.txtOutDate.setText(outDate); }
  419. public void setOutText(String outText) { this.txtOutText.setText(outText); }
  420. public void setTrafficIn(int number) { txtTrafficIn.setText("" + number); }
  421. public void setTrafficOut(int number) { txtTrafficOut.setText("" + number); }
  422. public void setInterfaceDB(boolean on) { this.lblInterfaceDB.setText((on ? CConstants.LABEL_INTERFACE_DB_ON : CConstants.LABEL_INTERFACE_DB_OFF)); }
  423. public void setInterfaceXML(boolean on) { this.lblInterfaceXML.setText((on ? CConstants.LABEL_INTERFACE_XML_ON : CConstants.LABEL_INTERFACE_XML_OFF)); }
  424. public void setRawInLog(boolean on) { this.lblRawInLog.setText((on ? CConstants.LABEL_IN_RAW_LOG_ON : CConstants.LABEL_IN_RAW_LOG_OFF)); }
  425. public void setRawOutLog(boolean on) { this.lblRawOutLog.setText((on ? CConstants.LABEL_OUT_RAW_LOG_ON : CConstants.LABEL_OUT_RAW_LOG_OFF)); }
  426. public void setConnected(boolean connected)
  427. {
  428. if (connected)
  429. {
  430. mniConnect.setEnabled(false);
  431. mniDisconnect.setEnabled(true);
  432. setStatusText(CConstants.STATUS_CONNECTED);
  433. txtUpSince.setText(new java.util.Date().toString());
  434. }
  435. else
  436. {
  437. mniConnect.setEnabled(true);
  438. mniDisconnect.setEnabled(false);
  439. setStatusText(CConstants.STATUS_DISCONNECTED);
  440. setTrafficIn(0);
  441. setTrafficOut(0);
  442. txtUpSince.setText("");
  443. setManufText("");
  444. setModelText("");
  445. setSerialNoText("");
  446. setIMSIText("");
  447. setSwVersionText("");
  448. setBatteryIndicator(0);
  449. setSignalIndicator(0);
  450. setInFrom("");
  451. setInDate("");
  452. setInText("");
  453. setOutTo("");
  454. setOutDate("");
  455. setOutText("");
  456. }
  457. }
  458. public CMainThread getService() { return service; }
  459. class CAboutDialog extends JDialog
  460. {
  461. public CAboutDialog(JFrame owner)
  462. {
  463. super(owner, "About jSMSEngine", true);
  464. JPanel buttonPanel;
  465. JPanel infoPanel1, infoPanel11, infoPanel2, infoPanel3, infoPanel4, infoPanel5;
  466. Box vBox;
  467. Container contentPane;
  468. JButton btnOk;
  469. contentPane = getContentPane();
  470. infoPanel1 = new JPanel();
  471. infoPanel1.setLayout(new FlowLayout());
  472. infoPanel1.add(new JLabel(CConstants.ABOUT_VERSION));
  473. infoPanel11 = new JPanel();
  474. infoPanel11.setLayout(new FlowLayout());
  475. infoPanel11.add(new JLabel(CConstants.ABOUT_BASED));
  476. infoPanel2 = new JPanel();
  477. infoPanel2.setLayout(new FlowLayout());
  478. infoPanel2.add(new JLabel(CConstants.ABOUT_BY));
  479. infoPanel3 = new JPanel();
  480. infoPanel3.setLayout(new FlowLayout());
  481. infoPanel3.add(new JLabel(CConstants.ABOUT_WEBPAGE));
  482. infoPanel4 = new JPanel();
  483. infoPanel4.setLayout(new FlowLayout());
  484. infoPanel4.add(new JLabel(CConstants.ABOUT_EMAIL));
  485. infoPanel5 = new JPanel();
  486. infoPanel5.setLayout(new FlowLayout());
  487. infoPanel5.add(new JLabel(CConstants.ABOUT_OTHER));
  488. vBox = Box.createVerticalBox();
  489. vBox.add(infoPanel1);
  490. vBox.add(infoPanel11);
  491. vBox.add(infoPanel2);
  492. vBox.add(Box.createVerticalStrut(5));
  493. vBox.add(infoPanel3);
  494. vBox.add(infoPanel4);
  495. vBox.add(Box.createVerticalStrut(10));
  496. vBox.add(infoPanel5);
  497. contentPane.add(vBox, BorderLayout.CENTER);
  498. buttonPanel = new JPanel();
  499. btnOk = new JButton("Ok");
  500. buttonPanel.add(btnOk);
  501. contentPane.add(buttonPanel, BorderLayout.SOUTH);
  502. btnOk.addActionListener(new
  503. ActionListener()
  504. {
  505. public void actionPerformed(ActionEvent event)
  506. {
  507. setVisible(false);
  508. }
  509. });
  510. setSize(350, 300);
  511. setResizable(false);
  512. setLocation(owner.getLocation().x + 170, owner.getLocation().y + 30);
  513. }
  514. }
  515. }