Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Vector;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import com.mysql.jdbc.Connection;
- import com.mysql.jdbc.ResultSetMetaData;
- import com.mysql.jdbc.Statement;
- public class Frame_Application {
- //Declaram variabilele globala
- public JFrame frame;
- public JPanel panel, panelBottom, panelTop;
- public JTable table;
- public JScrollPane containerScroll;
- public Vector<Vector<Object>> data;
- public Vector<String> columnNames;
- public JComboBox<String> comboBoxSoferi;
- public Connection connection = null;
- public Statement statement = null;
- public void linkDatabase() {
- String DB_URL = "jdbc:mysql://localhost/agentie_livrari?zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8";
- String USER = "root";
- String PASS = "";
- try {
- Class.forName("com.mysql.jdbc.Driver");
- connection = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);
- statement = (Statement) connection.createStatement();
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- }
- }
- public void createDriversList() {
- String sqlSoferi = "Select nume from soferi";
- ResultSet rs = null;
- ArrayList listaSoferi = new ArrayList();
- try {
- rs = statement.executeQuery(sqlSoferi);
- while(rs.next()) {
- listaSoferi.add(rs.getString(1));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- comboBoxSoferi = new JComboBox(listaSoferi.toArray());
- panelTop.add(comboBoxSoferi, BorderLayout.CENTER);
- }
- public void populateTable() {
- String sql = "SELECT * from livrari";
- try {
- ResultSet rs2 = statement.executeQuery(sql);
- ResultSetMetaData metaData = (ResultSetMetaData) rs2.getMetaData();
- columnNames = new Vector<String>();
- int columnCount = metaData.getColumnCount();
- for (int column = 1; column <= columnCount; column++) {
- columnNames.add(metaData.getColumnName(column));
- }
- data = new Vector<Vector<Object>>();
- while (rs2.next()) {
- Vector<Object> vector = new Vector<Object>();
- for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
- vector.add(rs2.getObject(columnIndex));
- }
- data.add(vector);
- }
- //initializam tabel
- table = new JTable(data, columnNames);
- //creem containerul cu scroll automat
- containerScroll = new JScrollPane(table);
- //setam o proprietate a tabelului care ii permite sa isi modifice inaltimea
- table.setFillsViewportHeight(true);
- //adaugam tabelul pe panou in centru
- panel.add(containerScroll, BorderLayout.CENTER);
- //setam frame-ul sa fie vizibil
- frame.setVisible(true);
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- }
- }
- //Creaza frame-ul
- public void createFrame() {
- //initializam frame-ul
- frame = new JFrame();
- //setam dimensiunea aplicatiei
- frame.setSize(800, 600);
- //setam butonul de x sa inchida aplicatia
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //setam titlul aplicatie
- frame.setTitle("Proiect 3");
- }
- public void createButton(){
- JButton buton3= new JButton("buton3");
- panelBottom.add(buton3, BorderLayout.EAST);
- //button1.setPreferredSize(new Dimension(50,100));
- JButton buton2= new JButton("buton2");
- panelBottom.add(buton2, BorderLayout.CENTER);
- //button1.setPreferredSize(new Dimension(50,100));
- JButton buton1= new JButton("buton1");
- panelBottom.add(buton1, BorderLayout.WEST);
- //button1.setPreferredSize(new Dimension(50,100));
- JButton butonFiltreaza= new JButton("Filtreaza");
- panelTop.add(butonFiltreaza, BorderLayout.EAST);
- ActionListener actiuneFiltreaza = new listenToFiltreaza();
- butonFiltreaza.addActionListener(actiuneFiltreaza);
- //button1.setPreferredSize(new Dimension(50,100));
- }
- public void createPanel() {
- //initializam panou cu un layout manager de Border Layout
- panel = new JPanel(new BorderLayout());
- panelBottom = new JPanel(new BorderLayout());
- panelTop = new JPanel(new BorderLayout());
- //adaugam panoul pe frame.
- frame.add(panel);
- panel.add(panelBottom, BorderLayout.SOUTH);
- panel.add(panelTop, BorderLayout.NORTH);
- }
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public void filtreazaDate(String numeSofer) {
- //setam numele driver-ului pentru baza de date mysql
- //prestabilit ptr a sti ca e baza de date mysql
- try {
- columnNames.clear();
- data.clear();
- Class.forName("com.mysql.jdbc.Driver");
- //setam link-ul conexiunii la baza de date de pe localhost(cea creata de noi)
- //prestabilit ptr a sti ca ne conectam la o baza de date locala
- String DB_URL = "jdbc:mysql://localhost/agentie_livrari?zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8";
- //setam numele de utilizator pentru conectarea la baza de date
- String USER = "root";
- //setam parola pentru conectarea la baza de date
- String PASS = "";
- //aici creem conexiunea propriu-zisa folosind datele de mai sus.
- Connection connection = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);
- //aici creem o afirmatie
- Statement statement = (Statement) connection.createStatement();
- //creem comanda sql pentru a lua numele soferilor din baza de date
- String sqlSoferi = "Select nume from soferi";
- //se creaza o variabila de tip resultset unde se memoreaza rezultatul comenzii sql
- ResultSet rs = statement.executeQuery(sqlSoferi);
- //se creaza un arraylist(o lista de obiecte dinamica) goala
- //se creaza o comanda sql ptr popularea tabelului
- String sql = "SELECT * from livrari WHERE sofer='"+numeSofer+"'";
- //se executa comanda sql
- ResultSet rs2 = statement.executeQuery(sql);
- ResultSetMetaData metaData = (ResultSetMetaData) rs2.getMetaData();
- // names of columns
- columnNames = new Vector<String>();
- int columnCount = metaData.getColumnCount();
- for (int column = 1; column <= columnCount; column++) {
- columnNames.add(metaData.getColumnName(column));
- }
- data = new Vector<Vector<Object>>();
- while (rs2.next()) {
- Vector<Object> vector = new Vector<Object>();
- for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
- vector.add(rs2.getObject(columnIndex));
- }
- data.add(vector);
- }
- //initializam tabel
- table = new JTable(data, columnNames);
- //creem containerul cu scroll automat
- containerScroll = new JScrollPane(table);
- //setam o proprietate a tabelului care ii permite sa isi modifice inaltimea
- table.setFillsViewportHeight(true);
- //adaugam tabelul pe panou in centru
- panel.add(containerScroll, BorderLayout.CENTER);
- //setam frame-ul sa fie vizibil
- frame.setVisible(true);
- } catch (ClassNotFoundException | SQLException e) {
- e.printStackTrace();
- }
- }
- public class listenToFiltreaza implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- //Ce scriem aici se intampla cand apesi pe butonul click
- String soferAles = (String) comboBoxSoferi.getSelectedItem();
- filtreazaDate(soferAles);
- System.out.println(soferAles);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement