Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package GUI;
- import java.awt.EventQueue;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JScrollPane;
- import javax.swing.JTabbedPane;
- import javax.swing.JTable;
- import javax.swing.JTextField;
- import javax.swing.table.DefaultTableModel;
- import javax.swing.table.TableColumnModel;
- import Gateway.ConferenceGateway;
- import Gateway.TalkGateway;
- import Model.User;
- import TransactionScript.ConferenceTS;
- import TransactionScript.UserTS;
- public class MainApp implements ActionListener {
- private int accountLogged; // 0 = not logged , 1 = admin , 2 = regular user
- private String ticketForConf;
- private JFrame frameTabele;
- private JFrame frameLogin;
- private JFrame frameTicket;
- private JTabbedPane tabbedPane;
- private JPanel panelConferences;
- private JPanel panelTalks;
- private DefaultTableModel tableModelConferences;
- private DefaultTableModel tableModelTalks;
- private JScrollPane scrollPaneConferences;
- private JScrollPane scrollPaneTalks;
- private JTable tableConferences;
- private JTable tableTalks;
- private JButton buttonLogin;
- private JButton buttonSignup;
- private JButton buttonOkTicket;
- private JLabel labelId;
- private JLabel labelName;
- private JLabel labelUserName;
- private JLabel labelPass;
- private JLabel labelTicketNumber1;
- private JLabel labelTicketNumber2;
- private JLabel labelTicketNumber3;
- private JTextField textIdLogin;
- private JTextField textNameLogin;
- private JTextField textUserNameLogin;
- private JTextField textPassLogin;
- private JPasswordField fieldPassLogin;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- MainApp window = new MainApp();
- window.frameTabele.setVisible(true);
- window.frameLogin.setVisible(true);
- window.frameTicket.setVisible(false);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the application.
- */
- public MainApp() {
- initialize();
- getConferenceTableData();
- getTalksTableData();
- accountLogged = 0;
- }
- /**
- * Initialize the contents of the frame.
- */
- private void initialize() {
- frameTicket = new JFrame();
- frameTicket.setBounds(100, 100, 300, 300);
- frameTicket.getContentPane().setLayout(null);
- frameTicket.setLayout(null);
- frameLogin = new JFrame();
- frameLogin.setBounds(100, 100, 300, 300);
- frameLogin.getContentPane().setLayout(null);
- frameLogin.setLayout(null);
- frameTabele = new JFrame();
- frameTabele.setBounds(100, 100, 850, 515);
- frameTabele.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frameTabele.getContentPane().setLayout(null);
- frameTabele.setLayout(null);
- //tabs
- tabbedPane = new JTabbedPane(JTabbedPane.TOP);
- tabbedPane.setBounds(10, 11, 810, 450);
- frameTabele.getContentPane().add(tabbedPane);
- //panels
- panelConferences = new JPanel();
- tabbedPane.addTab("Conferences", null, panelConferences, null);
- panelConferences.setLayout(null);
- panelTalks = new JPanel();
- tabbedPane.addTab("Talk", null, panelTalks, null);
- panelTalks.setLayout(null);
- //buttons
- buttonLogin = new JButton("Login");
- buttonLogin.setBounds(50, 200, 80, 20);
- frameLogin.add(buttonLogin);
- buttonLogin.addActionListener(this);
- buttonSignup = new JButton("Signup");
- buttonSignup.setBounds(150, 200, 80, 20);
- frameLogin.add(buttonSignup);
- buttonSignup.addActionListener(this);
- buttonOkTicket = new JButton("OK");
- buttonOkTicket.setBounds(100, 200, 100, 30);
- frameTicket.add(buttonOkTicket);
- buttonOkTicket.addActionListener(this);
- //labels
- labelId = new JLabel("Id:");
- labelId.setBounds(70, 20, 50, 20);
- frameLogin.add(labelId);
- labelName = new JLabel("Name:");
- labelName.setBounds(47, 50, 50, 20);
- frameLogin.add(labelName);
- labelUserName = new JLabel("User:");
- labelUserName.setBounds(52, 80, 50, 20);
- frameLogin.add(labelUserName);
- labelPass = new JLabel("Pass:");
- labelPass.setBounds(52, 110, 50, 20);
- frameLogin.add(labelPass);
- labelTicketNumber1 = new JLabel("Buy a ticket");
- labelTicketNumber1.setBounds(80, 50, 140, 30);
- frameTicket.add(labelTicketNumber1);
- labelTicketNumber2 = new JLabel("for conference no.");
- labelTicketNumber2.setBounds(80, 80, 140, 30);
- frameTicket.add(labelTicketNumber2);
- labelTicketNumber3 = new JLabel("");
- labelTicketNumber3.setBounds(80, 110, 140, 30);
- frameTicket.add(labelTicketNumber3);
- //text fields
- textIdLogin = new JTextField();
- textIdLogin.setToolTipText("Id");
- textIdLogin.setBounds(120,20,100,20);
- frameLogin.add(textIdLogin);
- textNameLogin = new JTextField();
- textNameLogin.setToolTipText("Name");
- textNameLogin.setBounds(120,50,100,20);
- frameLogin.add(textNameLogin);
- textUserNameLogin = new JTextField();
- textUserNameLogin.setToolTipText("User");
- textUserNameLogin.setBounds(120,80,100,20);
- frameLogin.add(textUserNameLogin);
- fieldPassLogin = new JPasswordField();
- fieldPassLogin.setToolTipText("Pass");
- fieldPassLogin.setBounds(120,110,100,20);
- fieldPassLogin.setEchoChar('*'); // jPasswordField.getPassword();
- frameLogin.add(fieldPassLogin);
- //tabel conferinte
- tableModelConferences = new DefaultTableModel();
- tableModelConferences.addColumn("ID");
- tableModelConferences.addColumn("Name");
- tableModelConferences.addColumn("Days");
- tableModelConferences.addColumn("Tracks");
- tableModelConferences.addColumn("Tickets");
- tableModelConferences.addColumn("Price");
- scrollPaneConferences = new JScrollPane();
- scrollPaneConferences.setBounds(10, 11, 780, 400);
- panelConferences.add(scrollPaneConferences);
- tableConferences = new JTable(tableModelConferences);
- scrollPaneConferences.setViewportView(tableConferences);
- //click event on conferences table
- tableConferences.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent evt) {
- int row = tableConferences.rowAtPoint(evt.getPoint());
- int col = tableConferences.columnAtPoint(evt.getPoint());
- if (row >= 0 && col >= 0) {
- if(accountLogged == 2)
- {
- ticketForConf = tableConferences.getValueAt(row, 0).toString();
- frameTicket.setVisible(true);
- labelTicketNumber3.setText(ticketForConf);
- }
- }
- }
- });
- //table prescription
- tableModelTalks = new DefaultTableModel();
- tableModelTalks.addColumn("ID");
- tableModelTalks.addColumn("Presenter");
- tableModelTalks.addColumn("Name");
- tableModelTalks.addColumn("Description");
- tableModelTalks.addColumn("Conference");
- tableModelTalks.addColumn("Track");
- tableModelTalks.addColumn("Day");
- tableModelTalks.addColumn("Start");
- tableModelTalks.addColumn("End");
- scrollPaneTalks = new JScrollPane();
- scrollPaneTalks.setBounds(10, 11, 780, 400);
- panelTalks.add(scrollPaneTalks);
- tableTalks = new JTable(tableModelTalks);
- scrollPaneTalks.setViewportView(tableTalks);
- //width coloane tabel talks
- TableColumnModel tcm = tableTalks.getColumnModel();
- tcm.getColumn(0).setPreferredWidth(5);
- tcm.getColumn(1).setPreferredWidth(30);
- tcm.getColumn(2).setPreferredWidth(20);
- tcm.getColumn(3).setPreferredWidth(300);
- tcm.getColumn(4).setPreferredWidth(35);
- tcm.getColumn(5).setPreferredWidth(20);
- tcm.getColumn(6).setPreferredWidth(15);
- tcm.getColumn(7).setPreferredWidth(15);
- tcm.getColumn(8).setPreferredWidth(15);
- }
- public void actionPerformed(ActionEvent e) {
- if ( e.getSource() == buttonOkTicket)
- {
- frameTicket.setVisible(false);
- ConferenceTS conf= new ConferenceTS();
- conf.validateTicket(ticketForConf);
- }
- if ( e.getSource() == buttonLogin)
- {
- UserTS user = new UserTS();
- if(accountLogged == 0)
- {
- accountLogged = user.login(textUserNameLogin.getText(), String.valueOf(fieldPassLogin.getPassword()));
- if(accountLogged == 2)
- {
- frameLogin.setVisible(false);
- }
- else if(accountLogged == 1)
- {
- initializeAdminInterface();
- }
- }
- else
- {
- JOptionPane.showMessageDialog(null, "Already logged in.");
- }
- }
- if ( e.getSource() == buttonSignup)
- {
- UserTS user = new UserTS();
- String name = textNameLogin.getText();
- String userName = textUserNameLogin.getText();
- String pass = String.valueOf(fieldPassLogin.getPassword());
- int id = Integer.parseInt(textIdLogin.getText());
- int type = 2;
- if(accountLogged == 1)
- {
- type = 1;
- }
- User u = new User(id , name , userName , pass , type);
- if(accountLogged != 2)
- {
- user.signup(u);
- }
- else
- {
- JOptionPane.showMessageDialog(null, "Already signedup.");
- }
- }
- }
- public void getConferenceTableData()
- {
- ConferenceGateway gateway = new ConferenceGateway();
- ResultSet pSet = gateway.getConferences();
- //reset table data
- for (int i = tableModelConferences.getRowCount() - 1; i > -1; i--) {
- tableModelConferences.removeRow(i);
- }
- try {
- while (pSet.next()) {
- tableModelConferences.addRow(new Object[] {pSet.getString(1), pSet.getString(2), pSet.getString(3), pSet.getString(4), pSet.getString(5), pSet.getString(6)});
- }
- tableConferences = new JTable(tableModelConferences);
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- }
- public void getTalksTableData()
- {
- TalkGateway gateway = new TalkGateway();
- ResultSet pSet = gateway.getTalks();
- //reset table data
- for (int i = tableModelTalks.getRowCount() - 1; i > -1; i--) {
- tableModelTalks.removeRow(i);
- }
- try {
- while (pSet.next()) {
- 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)});
- }
- tableTalks = new JTable(tableModelTalks);
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- }
- public void initializeAdminInterface()
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement