Advertisement
Guest User

Untitled

a guest
Mar 31st, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.46 KB | None | 0 0
  1. package GUI;
  2.  
  3. import java.awt.EventQueue;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.event.MouseAdapter;
  7. import java.awt.event.MouseEvent;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10.  
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.JPanel;
  16. import javax.swing.JPasswordField;
  17. import javax.swing.JScrollPane;
  18. import javax.swing.JTabbedPane;
  19. import javax.swing.JTable;
  20. import javax.swing.JTextField;
  21. import javax.swing.table.DefaultTableModel;
  22. import javax.swing.table.TableColumnModel;
  23.  
  24. import Gateway.ConferenceGateway;
  25. import Gateway.TalkGateway;
  26. import Model.User;
  27. import TransactionScript.ConferenceTS;
  28. import TransactionScript.UserTS;
  29.  
  30. public class MainApp implements ActionListener {
  31.  
  32. private int accountLogged; // 0 = not logged , 1 = admin , 2 = regular user
  33. private String ticketForConf;
  34.  
  35. private JFrame frameTabele;
  36. private JFrame frameLogin;
  37. private JFrame frameTicket;
  38.  
  39. private JTabbedPane tabbedPane;
  40. private JPanel panelConferences;
  41. private JPanel panelTalks;
  42.  
  43. private DefaultTableModel tableModelConferences;
  44. private DefaultTableModel tableModelTalks;
  45.  
  46. private JScrollPane scrollPaneConferences;
  47. private JScrollPane scrollPaneTalks;
  48.  
  49. private JTable tableConferences;
  50. private JTable tableTalks;
  51.  
  52. private JButton buttonLogin;
  53. private JButton buttonSignup;
  54. private JButton buttonOkTicket;
  55.  
  56. private JLabel labelId;
  57. private JLabel labelName;
  58. private JLabel labelUserName;
  59. private JLabel labelPass;
  60. private JLabel labelTicketNumber1;
  61. private JLabel labelTicketNumber2;
  62. private JLabel labelTicketNumber3;
  63.  
  64. private JTextField textIdLogin;
  65. private JTextField textNameLogin;
  66. private JTextField textUserNameLogin;
  67. private JTextField textPassLogin;
  68. private JPasswordField fieldPassLogin;
  69.  
  70.  
  71.  
  72. /**
  73. * Launch the application.
  74. */
  75. public static void main(String[] args) {
  76. EventQueue.invokeLater(new Runnable() {
  77. public void run() {
  78. try {
  79. MainApp window = new MainApp();
  80. window.frameTabele.setVisible(true);
  81. window.frameLogin.setVisible(true);
  82. window.frameTicket.setVisible(false);
  83. } catch (Exception e) {
  84. e.printStackTrace();
  85. }
  86. }
  87. });
  88. }
  89.  
  90. /**
  91. * Create the application.
  92. */
  93. public MainApp() {
  94. initialize();
  95. getConferenceTableData();
  96. getTalksTableData();
  97. accountLogged = 0;
  98. }
  99.  
  100. /**
  101. * Initialize the contents of the frame.
  102. */
  103. private void initialize() {
  104.  
  105.  
  106.  
  107.  
  108. frameTicket = new JFrame();
  109. frameTicket.setBounds(100, 100, 300, 300);
  110. frameTicket.getContentPane().setLayout(null);
  111. frameTicket.setLayout(null);
  112.  
  113.  
  114. frameLogin = new JFrame();
  115. frameLogin.setBounds(100, 100, 300, 300);
  116. frameLogin.getContentPane().setLayout(null);
  117. frameLogin.setLayout(null);
  118.  
  119. frameTabele = new JFrame();
  120. frameTabele.setBounds(100, 100, 850, 515);
  121. frameTabele.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  122. frameTabele.getContentPane().setLayout(null);
  123. frameTabele.setLayout(null);
  124.  
  125.  
  126. //tabs
  127. tabbedPane = new JTabbedPane(JTabbedPane.TOP);
  128. tabbedPane.setBounds(10, 11, 810, 450);
  129. frameTabele.getContentPane().add(tabbedPane);
  130.  
  131. //panels
  132. panelConferences = new JPanel();
  133. tabbedPane.addTab("Conferences", null, panelConferences, null);
  134. panelConferences.setLayout(null);
  135.  
  136. panelTalks = new JPanel();
  137. tabbedPane.addTab("Talk", null, panelTalks, null);
  138. panelTalks.setLayout(null);
  139.  
  140. //buttons
  141. buttonLogin = new JButton("Login");
  142. buttonLogin.setBounds(50, 200, 80, 20);
  143. frameLogin.add(buttonLogin);
  144. buttonLogin.addActionListener(this);
  145.  
  146. buttonSignup = new JButton("Signup");
  147. buttonSignup.setBounds(150, 200, 80, 20);
  148. frameLogin.add(buttonSignup);
  149. buttonSignup.addActionListener(this);
  150.  
  151. buttonOkTicket = new JButton("OK");
  152. buttonOkTicket.setBounds(100, 200, 100, 30);
  153. frameTicket.add(buttonOkTicket);
  154. buttonOkTicket.addActionListener(this);
  155.  
  156. //labels
  157. labelId = new JLabel("Id:");
  158. labelId.setBounds(70, 20, 50, 20);
  159. frameLogin.add(labelId);
  160.  
  161. labelName = new JLabel("Name:");
  162. labelName.setBounds(47, 50, 50, 20);
  163. frameLogin.add(labelName);
  164.  
  165. labelUserName = new JLabel("User:");
  166. labelUserName.setBounds(52, 80, 50, 20);
  167. frameLogin.add(labelUserName);
  168.  
  169. labelPass = new JLabel("Pass:");
  170. labelPass.setBounds(52, 110, 50, 20);
  171. frameLogin.add(labelPass);
  172.  
  173. labelTicketNumber1 = new JLabel("Buy a ticket");
  174. labelTicketNumber1.setBounds(80, 50, 140, 30);
  175. frameTicket.add(labelTicketNumber1);
  176.  
  177. labelTicketNumber2 = new JLabel("for conference no.");
  178. labelTicketNumber2.setBounds(80, 80, 140, 30);
  179. frameTicket.add(labelTicketNumber2);
  180. labelTicketNumber3 = new JLabel("");
  181. labelTicketNumber3.setBounds(80, 110, 140, 30);
  182. frameTicket.add(labelTicketNumber3);
  183.  
  184.  
  185. //text fields
  186. textIdLogin = new JTextField();
  187. textIdLogin.setToolTipText("Id");
  188. textIdLogin.setBounds(120,20,100,20);
  189. frameLogin.add(textIdLogin);
  190.  
  191. textNameLogin = new JTextField();
  192. textNameLogin.setToolTipText("Name");
  193. textNameLogin.setBounds(120,50,100,20);
  194. frameLogin.add(textNameLogin);
  195.  
  196. textUserNameLogin = new JTextField();
  197. textUserNameLogin.setToolTipText("User");
  198. textUserNameLogin.setBounds(120,80,100,20);
  199. frameLogin.add(textUserNameLogin);
  200.  
  201. fieldPassLogin = new JPasswordField();
  202. fieldPassLogin.setToolTipText("Pass");
  203. fieldPassLogin.setBounds(120,110,100,20);
  204. fieldPassLogin.setEchoChar('*'); // jPasswordField.getPassword();
  205. frameLogin.add(fieldPassLogin);
  206.  
  207.  
  208. //tabel conferinte
  209. tableModelConferences = new DefaultTableModel();
  210. tableModelConferences.addColumn("ID");
  211. tableModelConferences.addColumn("Name");
  212. tableModelConferences.addColumn("Days");
  213. tableModelConferences.addColumn("Tracks");
  214. tableModelConferences.addColumn("Tickets");
  215. tableModelConferences.addColumn("Price");
  216.  
  217. scrollPaneConferences = new JScrollPane();
  218. scrollPaneConferences.setBounds(10, 11, 780, 400);
  219. panelConferences.add(scrollPaneConferences);
  220. tableConferences = new JTable(tableModelConferences);
  221. scrollPaneConferences.setViewportView(tableConferences);
  222.  
  223. //click event on conferences table
  224. tableConferences.addMouseListener(new MouseAdapter() {
  225. @Override
  226. public void mouseClicked(MouseEvent evt) {
  227. int row = tableConferences.rowAtPoint(evt.getPoint());
  228. int col = tableConferences.columnAtPoint(evt.getPoint());
  229. if (row >= 0 && col >= 0) {
  230. if(accountLogged == 2)
  231. {
  232. ticketForConf = tableConferences.getValueAt(row, 0).toString();
  233. frameTicket.setVisible(true);
  234. labelTicketNumber3.setText(ticketForConf);
  235. }
  236. }
  237. }
  238. });
  239.  
  240. //table prescription
  241. tableModelTalks = new DefaultTableModel();
  242. tableModelTalks.addColumn("ID");
  243. tableModelTalks.addColumn("Presenter");
  244. tableModelTalks.addColumn("Name");
  245. tableModelTalks.addColumn("Description");
  246. tableModelTalks.addColumn("Conference");
  247. tableModelTalks.addColumn("Track");
  248. tableModelTalks.addColumn("Day");
  249. tableModelTalks.addColumn("Start");
  250. tableModelTalks.addColumn("End");
  251.  
  252.  
  253. scrollPaneTalks = new JScrollPane();
  254. scrollPaneTalks.setBounds(10, 11, 780, 400);
  255. panelTalks.add(scrollPaneTalks);
  256. tableTalks = new JTable(tableModelTalks);
  257. scrollPaneTalks.setViewportView(tableTalks);
  258.  
  259. //width coloane tabel talks
  260. TableColumnModel tcm = tableTalks.getColumnModel();
  261. tcm.getColumn(0).setPreferredWidth(5);
  262. tcm.getColumn(1).setPreferredWidth(30);
  263. tcm.getColumn(2).setPreferredWidth(20);
  264. tcm.getColumn(3).setPreferredWidth(300);
  265. tcm.getColumn(4).setPreferredWidth(35);
  266. tcm.getColumn(5).setPreferredWidth(20);
  267. tcm.getColumn(6).setPreferredWidth(15);
  268. tcm.getColumn(7).setPreferredWidth(15);
  269. tcm.getColumn(8).setPreferredWidth(15);
  270. }
  271.  
  272.  
  273.  
  274.  
  275. public void actionPerformed(ActionEvent e) {
  276. if ( e.getSource() == buttonOkTicket)
  277. {
  278. frameTicket.setVisible(false);
  279. ConferenceTS conf= new ConferenceTS();
  280. conf.validateTicket(ticketForConf);
  281. }
  282. if ( e.getSource() == buttonLogin)
  283. {
  284. UserTS user = new UserTS();
  285. if(accountLogged == 0)
  286. {
  287. accountLogged = user.login(textUserNameLogin.getText(), String.valueOf(fieldPassLogin.getPassword()));
  288. if(accountLogged == 2)
  289. {
  290. frameLogin.setVisible(false);
  291. }
  292. else if(accountLogged == 1)
  293. {
  294. initializeAdminInterface();
  295. }
  296. }
  297. else
  298. {
  299. JOptionPane.showMessageDialog(null, "Already logged in.");
  300. }
  301. }
  302. if ( e.getSource() == buttonSignup)
  303. {
  304. UserTS user = new UserTS();
  305. String name = textNameLogin.getText();
  306. String userName = textUserNameLogin.getText();
  307. String pass = String.valueOf(fieldPassLogin.getPassword());
  308. int id = Integer.parseInt(textIdLogin.getText());
  309. int type = 2;
  310. if(accountLogged == 1)
  311. {
  312. type = 1;
  313. }
  314. User u = new User(id , name , userName , pass , type);
  315.  
  316. if(accountLogged != 2)
  317. {
  318. user.signup(u);
  319. }
  320. else
  321. {
  322. JOptionPane.showMessageDialog(null, "Already signedup.");
  323. }
  324.  
  325. }
  326. }
  327.  
  328.  
  329.  
  330.  
  331. public void getConferenceTableData()
  332. {
  333. ConferenceGateway gateway = new ConferenceGateway();
  334. ResultSet pSet = gateway.getConferences();
  335.  
  336. //reset table data
  337. for (int i = tableModelConferences.getRowCount() - 1; i > -1; i--) {
  338. tableModelConferences.removeRow(i);
  339. }
  340. try {
  341. while (pSet.next()) {
  342. tableModelConferences.addRow(new Object[] {pSet.getString(1), pSet.getString(2), pSet.getString(3), pSet.getString(4), pSet.getString(5), pSet.getString(6)});
  343.  
  344. }
  345. tableConferences = new JTable(tableModelConferences);
  346. } catch (SQLException e1) {
  347. e1.printStackTrace();
  348. }
  349. }
  350. public void getTalksTableData()
  351. {
  352. TalkGateway gateway = new TalkGateway();
  353. ResultSet pSet = gateway.getTalks();
  354.  
  355. //reset table data
  356. for (int i = tableModelTalks.getRowCount() - 1; i > -1; i--) {
  357. tableModelTalks.removeRow(i);
  358. }
  359. try {
  360. while (pSet.next()) {
  361. tableModelTalks.addRow(new Object[] {pSet.getString(1), pSet.getString(2), pSet.getString(3), pSet.getString(4), pSet.getString(5), pSet.getString(6), pSet.getString(7), pSet.getString(8), pSet.getString(9)});
  362.  
  363. }
  364. tableTalks = new JTable(tableModelTalks);
  365. } catch (SQLException e1) {
  366. e1.printStackTrace();
  367. }
  368. }
  369. public void initializeAdminInterface()
  370. {
  371.  
  372. }
  373. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement