Advertisement
DeveloperSergio

Java GUI Vs mysql database Part 7

Nov 27th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.64 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4.  
  5. /**
  6. * Created by Admin on 25.11.2016.
  7. */
  8. public class Message {
  9.  
  10. public void showMsDialogBtnRefresh(ActionEvent event, JButton btnRefresh) {
  11. if (event.getSource() == btnRefresh) {
  12. JOptionPane.showMessageDialog(btnRefresh, "Таблица обновлена",
  13. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  14. }
  15. }
  16.  
  17. public void showMsDialogBtnUpdate(ActionEvent event, JButton btnUpdate, int id) {
  18. if (event.getSource() == btnUpdate){
  19. JOptionPane.showMessageDialog(btnUpdate, "Поле ID "+ id +" обновлено",
  20. "Message Information" , JOptionPane.INFORMATION_MESSAGE);
  21. }
  22. }
  23.  
  24. public void showMsDialogBtnAdd(ActionEvent event, JButton btnAdd) {
  25. if (event.getSource() == btnAdd){
  26. JOptionPane.showMessageDialog(btnAdd, "Строка добавлена",
  27. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  28. }
  29. }
  30.  
  31. public void showMsDialogBtnRemove(ActionEvent event, JButton btnRemove, int id) {
  32. if (event.getSource() == btnRemove){
  33. JOptionPane.showMessageDialog(btnRemove, "Поле ID "+ id +" удалено",
  34. "Message Information", JOptionPane.INFORMATION_MESSAGE);
  35. }
  36. }
  37.  
  38. // для вывода предупреждения в Login или Create JFrame
  39. public void showMsDialogNoLogin(ActionEvent event, JButton btn){
  40. if (event.getSource() == btn){
  41. JOptionPane.showMessageDialog(btn, "Введите логин!",
  42. "Warning Message", JOptionPane.WARNING_MESSAGE);
  43. }
  44. }
  45.  
  46. // для вывода предупреждения в Login или Create JFrame
  47. public void showMsDialogNoPass(ActionEvent event, JButton btn){
  48. if (event.getSource() == btn){
  49. JOptionPane.showMessageDialog(btn, "Введите пароль!",
  50. "Warning Message", JOptionPane.WARNING_MESSAGE);
  51. }
  52. }
  53.  
  54. // для вывода предупреждения в Login или Create JFrame
  55. public void showMsDialogNoLoginPass(ActionEvent event, JButton btn){
  56. if (event.getSource() == btn){
  57. JOptionPane.showMessageDialog(btn, "Введите логин и пароль!",
  58. "Warning Message", JOptionPane.WARNING_MESSAGE);
  59. }
  60. }
  61.  
  62. // для вывода предупреждения в login JFrame
  63. public void showMsDialogIncorrectLoginPass(ActionEvent event, JButton btn){
  64. if (event.getSource() == btn){
  65. JOptionPane.showMessageDialog(btn, "Не верный логин или пароль!",
  66. "Warning Message", JOptionPane.WARNING_MESSAGE);
  67. }
  68. }
  69.  
  70.  
  71. }
  72.  
  73.  
  74. import javax.swing.*;
  75. import javax.swing.border.EmptyBorder;
  76. import javax.swing.border.TitledBorder;
  77. import java.awt.*;
  78. import java.awt.event.ActionEvent;
  79. import java.awt.event.ActionListener;
  80.  
  81. /**
  82. * Created by Admin on 27.11.2016.
  83. */
  84. public class CreateAccount extends JFrame{
  85.  
  86. JButton btnOk;
  87. JButton btnCancel;
  88. JTextField loginField;
  89. JPasswordField passwordField1;
  90. JPasswordField passwordField2;
  91.  
  92. // класс задает рамер кнопок
  93. SizeButtons sizeButtons = new SizeButtons();
  94. Message message = new Message();
  95.  
  96. CreateAccount(){
  97. super("Авторизация");
  98. setDefaultCloseOperation(EXIT_ON_CLOSE);
  99.  
  100. // устанавливаем иконку
  101. iconLogin();
  102.  
  103.  
  104. // первая горизонтальная панель для логина
  105. Box box1 = Box.createHorizontalBox();
  106. JLabel loginLabel = new JLabel(" Логин:");
  107. loginField = new JTextField(15);
  108. box1.add(loginLabel);
  109. box1.add(Box.createHorizontalStrut(7));
  110. box1.add(loginField);
  111. box1.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JTextField и краем окна
  112.  
  113.  
  114. // втотрая горизонтальная панель для первого пароля
  115. Box box2 = Box.createHorizontalBox();
  116. JLabel passLabel1 = new JLabel("Пароль:");
  117. passwordField1 = new JPasswordField(15);
  118. box2.add(passLabel1);
  119. box2.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
  120. box2.add(passwordField1);
  121. box2.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
  122.  
  123.  
  124. // третяя горизонтальная панель для второго пароля
  125. Box box3 = Box.createHorizontalBox();
  126. JLabel passLabel2 = new JLabel("Пароль:");
  127. passwordField2 = new JPasswordField(15);
  128. box3.add(passLabel2);
  129. box3.add(Box.createHorizontalStrut(7)); //прозрачный разделитель между Jlabel и JPasswordField
  130. box3.add(passwordField2);
  131. box3.add(Box.createHorizontalStrut(15)); //прозрачный разделитель между JPasswordField и краем окна
  132.  
  133.  
  134. // четвертая горизонтальная панель
  135. Box box4 = Box.createHorizontalBox();
  136. btnOk = new JButton("Ok");
  137. btnCancel = new JButton("Cancel");
  138.  
  139. //задаем размер кнопок
  140. sizeButtons.setSizeBtnCreateAccount(btnOk, btnCancel);
  141.  
  142.  
  143. //создаем отступы и добавляем кнопки
  144. box4.add(Box.createHorizontalGlue());
  145. box4.add(btnOk);
  146. box4.add(Box.createHorizontalStrut(5)); //прозрачный отступ между кнопками
  147. box4.add(btnCancel);
  148. box4.add(Box.createHorizontalStrut(15)); // отступ от кнопок доправого края окна
  149.  
  150.  
  151. // Уточняем размеры компонентов
  152. loginLabel.setPreferredSize(passLabel1.getPreferredSize());
  153. passLabel1.setPreferredSize(passLabel2.getPreferredSize());
  154.  
  155.  
  156. // помещаем в вертикальный mainBox горизонтальные Box-ы
  157. Box mainBox = Box.createVerticalBox();
  158. mainBox.setBorder((new TitledBorder("Create Account"))); // заголовок Box-а
  159. // mainBox.setBorder(new EmptyBorder(40,0,0,0)); // //пустая граница
  160. mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми между логин и пароли
  161. mainBox.add(box1);
  162. mainBox.add(Box.createVerticalStrut(20)); // пустые отступы между box-ми
  163. mainBox.add(box2);
  164. mainBox.add(Box.createVerticalStrut(3)); // пустые отступы между box-ми
  165. mainBox.add(box3);
  166. mainBox.add(Box.createVerticalStrut(15));
  167. mainBox.add(box4);
  168. setContentPane(mainBox);
  169.  
  170. // устанавливает оптимальный размер окна
  171. pack();
  172.  
  173. // отключает кнопку max и возможность изменения окна
  174. setResizable(false);
  175.  
  176. // отображение фрейма по центру
  177. setLocationRelativeTo(null);
  178.  
  179. setVisible(true);
  180.  
  181.  
  182. // слушатель на кнопку btnoOk
  183. this.btnOk.addActionListener(new ActionListener() {
  184. @Override
  185. public void actionPerformed(ActionEvent ae) {
  186.  
  187. if (emptyLoginPassTextField(ae, btnOk)){ // проверяем заполнены ли JTextField и JPasswordField-ы
  188.  
  189. //Создаем фрейм в потоке обработки событий
  190. SwingUtilities.invokeLater(new Runnable() {
  191. @Override
  192. public void run() {
  193.  
  194. // вызвывем JFrameLogin
  195. new JFrameLogin();
  196.  
  197. // закрываем окно CreateAccount
  198. dispose();
  199.  
  200. }
  201. });
  202.  
  203. }
  204.  
  205. }
  206. });
  207.  
  208.  
  209. // слушатель на кнопку btnCancel
  210. this.btnCancel.addActionListener(new ActionListener() {
  211. @Override
  212. public void actionPerformed(ActionEvent ae) {
  213.  
  214. //Создаем фрейм в потоке обработки событий
  215. SwingUtilities.invokeLater(new Runnable() {
  216. @Override
  217. public void run() {
  218.  
  219. // вызвывем JFrameLogin
  220. new JFrameLogin();
  221.  
  222. // закрываем окно CreateAccount
  223. dispose();
  224.  
  225. }
  226. });
  227.  
  228.  
  229. }
  230. });
  231.  
  232. }
  233.  
  234.  
  235. // устанавливаем иконку JFrameLogin
  236. public void iconLogin(){
  237. /* Toolkit kit =Toolkit.getDefaultToolkit();
  238. Image img = kit.getImage("src\\images\\key32.png");
  239. setIconImage(img);*/
  240. setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
  241. }
  242.  
  243.  
  244. // проверка заполнено ли LoginTextField JPasswordField
  245. public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
  246. boolean flag = true;
  247.  
  248. if ( (String.valueOf(loginField.getText()).isEmpty()) &&
  249. (String.valueOf(passwordField1.getText()).isEmpty()) &&
  250. (String.valueOf(passwordField2.getText())).isEmpty() ){
  251.  
  252. message.showMsDialogNoLoginPass(event, bntOk);
  253. flag = false;
  254. }
  255.  
  256. else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
  257. message.showMsDialogNoLogin(event, bntOk);
  258. flag = false;
  259. }
  260. else if ( String.valueOf(passwordField1.getText()).isEmpty() &&
  261. (String.valueOf(passwordField2.getText())).isEmpty() ||
  262. (String.valueOf(passwordField1.getText())).isEmpty() ||
  263. (String.valueOf(passwordField2.getText())).isEmpty() ){
  264.  
  265. message.showMsDialogNoPass(event, bntOk);
  266. flag = false;
  267. }
  268.  
  269. return flag;
  270.  
  271. }
  272. }
  273.  
  274.  
  275.  
  276. import javax.swing.*;
  277. import javax.swing.border.EmptyBorder;
  278. import java.awt.*;
  279. import java.awt.event.ActionEvent;
  280. import java.awt.event.ActionListener;
  281.  
  282.  
  283.  
  284. /**
  285. * Created by Admin on 26.11.2016.
  286. */
  287. public class JFrameLogin extends JFrame{
  288.  
  289. JTextField loginField;
  290. JPasswordField passwordField;
  291. // класс с установкой размера кнопок
  292. SizeButtons sizeButtons = new SizeButtons();
  293. // вывод сообщений
  294. Message message = new Message();
  295.  
  296. JButton bntOk = new JButton("OK");
  297. JButton btnCancel = new JButton("Отмена");
  298. JButton btnCreate = new JButton("Создать");
  299.  
  300.  
  301.  
  302. JFrameLogin(){
  303. super("Вход в систему");
  304. setDefaultCloseOperation(EXIT_ON_CLOSE);
  305.  
  306. // устанавливаем иконку
  307. iconLogin();
  308.  
  309.  
  310. // первая горизонтальная панель для ввода логина
  311. Box box1 = Box.createHorizontalBox();
  312. JLabel loginLabel = new JLabel(" Логин:");
  313. loginField = new JTextField(5);
  314. box1.add(loginLabel);
  315. box1.add(Box.createHorizontalStrut(3));
  316. box1.add(loginField);
  317.  
  318. // вторая горизонтальная панель для ввода пароля
  319. Box box2 = Box.createHorizontalBox();
  320. JLabel passwordLabel = new JLabel("Пароль: ");
  321. passwordField = new JPasswordField(5);
  322. box2.add(passwordLabel);
  323. box2.add(Box.createHorizontalStrut(5));
  324. box2.add(passwordField);
  325.  
  326. // Настраиваем третью горизонтальную панель
  327. Box box3 = Box.createHorizontalBox();
  328.  
  329. //задаем размер кнопок
  330. sizeButtons.setSizeBtnLogin(bntOk,btnCancel,btnCreate);
  331.  
  332. //здаем отступы между кнопок
  333. box3.add(Box.createHorizontalGlue());
  334. box3.add(bntOk);
  335. box3.add(Box.createHorizontalStrut(5)); // промежуток между кнопками OK и Cancel
  336. box3.add(btnCancel);
  337. box3.add(Box.createHorizontalStrut(5));
  338. box3.add(btnCreate);
  339.  
  340. // Уточняем размеры компонентов
  341. loginLabel.setPreferredSize(passwordLabel.getPreferredSize());
  342.  
  343. // размещаем три горизонтальные панели на одной вертикальной
  344. Box mainBox = Box.createVerticalBox();
  345. mainBox.setBorder(new EmptyBorder(8,15,8,20)); //пустая граница
  346. mainBox.add(box1);
  347. mainBox.add(Box.createVerticalStrut(12));
  348. mainBox.add(box2);
  349. mainBox.add(Box.createVerticalStrut(12));
  350. mainBox.add(box3);
  351. setContentPane(mainBox);
  352. // устанавливает оптимальный размер окна
  353. pack();
  354. // отключает кнопку max и возможность изменения окна
  355. setResizable(false);
  356. // отображение фрейма по центру
  357. setLocationRelativeTo(null);
  358. setVisible(true);
  359.  
  360.  
  361. // слушатель на кнопку bntOk
  362. this.bntOk.addActionListener(new ActionListener() {
  363.  
  364. @Override
  365. public void actionPerformed(ActionEvent ae) {
  366.  
  367.  
  368. if ( emptyLoginPassTextField(ae, bntOk) ){ // если JTextField не пустое
  369. //Создаем фрейм в потоке обработки событий
  370. SwingUtilities.invokeLater(new Runnable() {
  371. @Override
  372. public void run() {
  373.  
  374. // вызвывем JTableWindow
  375. new JTableWindow();
  376.  
  377. // закрываем окно JFrameLogin
  378. dispose();
  379.  
  380. }
  381. });
  382. }
  383.  
  384. }
  385. });
  386.  
  387. // слушатель на кнопку btnCancel
  388. this.btnCancel.addActionListener(new ActionListener() {
  389. @Override
  390. public void actionPerformed(ActionEvent ae) {
  391. // закрываем окно JFrameLogin
  392. dispose();
  393. }
  394. });
  395.  
  396.  
  397. // слушатель на кнопку btnCreate
  398. this.btnCreate.addActionListener(new ActionListener() {
  399.  
  400.  
  401. @Override
  402. public void actionPerformed(ActionEvent ae) {
  403.  
  404. //Создаем фрейм в потоке обработки событий
  405. SwingUtilities.invokeLater(new Runnable() {
  406. @Override
  407. public void run() {
  408.  
  409. // вызвывем CreateAccount
  410. new CreateAccount();
  411.  
  412. // закрываем окно JFrameLogin
  413. dispose();
  414.  
  415. }
  416. });
  417.  
  418.  
  419. }
  420. });
  421. }
  422.  
  423.  
  424. // устанавливаем иконку JFrameLogin
  425. public void iconLogin(){
  426. /* Toolkit kit =Toolkit.getDefaultToolkit();
  427. Image img = kit.getImage("src\\images\\key32.png");
  428. setIconImage(img);*/
  429. setIconImage(Toolkit.getDefaultToolkit().getImage("src\\images\\key32.png"));
  430. }
  431.  
  432. // проверка заполнено ли LoginTextField JPasswordField
  433. public boolean emptyLoginPassTextField(ActionEvent event, JButton bntOk){
  434. boolean flag = true;
  435.  
  436. if ( (String.valueOf(loginField.getText()).isEmpty()) && (String.valueOf(passwordField.getText()).isEmpty()) ){
  437. message.showMsDialogNoLoginPass(event, bntOk);
  438. flag = false;
  439. }
  440.  
  441. else if ( String.valueOf(loginField.getText()).isEmpty() ){ //если пустое JTextField
  442. message.showMsDialogNoLogin(event, bntOk);
  443. flag = false;
  444. }
  445. else if ( String.valueOf(passwordField.getText()).isEmpty() ){
  446. message.showMsDialogNoPass(event, bntOk);
  447. flag = false;
  448. }
  449.  
  450. return flag;
  451.  
  452. }
  453.  
  454.  
  455. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement