Untitled

 avatar
unknown
plain_text
2 months ago
12 kB
5
Indexable
/*package evidencijaRadnika_EM;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Color;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.awt.event.ActionEvent;
import javax.swing.table.DefaultTableModel;

public class Evidencija {

	private JFrame frame;
	private JTable tablica;
	private JTextField sifra_evidencije;


	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Evidencija window = new Evidencija();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public Evidencija() {
		initialize();
	}

	
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 777, 573);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		JLabel lblNewLabel = new JLabel("EVIDENCIJA RADNIKA");
		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 20));
		lblNewLabel.setBounds(250, 38, 250, 54);
		frame.getContentPane().add(lblNewLabel);
		
		JButton gumb_prikazi = new JButton("Prikaži");
		gumb_prikazi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			
				try
				 {
				 Class.forName("com.mysql.cj.jdbc.Driver");
				 Connection con=DriverManager.getConnection("jdbc:mysql://student.veleri.hr/mbukovic?serverTimezone=UTC", "mbukovic", "11");
				 Statement st=con.createStatement();
				 String sifra = sifra_evidencije.getText().toString();
				 String upit="SELECT sifra_evidencije, ukupni_sat_rada, mjesec_rada, godina_rada, iznos_place" + "FROM EM_Evidencija_radnog_sata WHERE sifra_evidencije= '" + sifra + "'";
				 
				 ResultSet rs= st.executeQuery(upit);
				 ResultSetMetaData rsmd=rs.getMetaData();
				 DefaultTableModel model=(DefaultTableModel) tablica.getModel();
				 
				 int stupac=rsmd.getColumnCount();
				 String[] ime_stupca = new String[stupac];
				 for(int i=0; i<stupac; i++)
					 {
						 ime_stupca[i]=rsmd.getColumnName(i+1);
					 }
				 model.setColumnIdentifiers(ime_stupca);
				 String sifra_evidencije, ukupni_sat_rada, mjesec_rada, godina_rada, iznos_place;
				 while(rs.next()) {
					 sifra_evidencije=rs.getString(1);
					 ukupni_sat_rada=rs.getString(2);
					 mjesec_rada=rs.getString(3);
					 godina_rada=rs.getString(4);
					 iznos_place=rs.getString(5);
					 String[]red= {sifra_evidencije, ukupni_sat_rada, mjesec_rada, godina_rada, iznos_place};
					 model.addRow(red);
					 
				 	}
				 st.close();
				 con.close();
				 }
				 catch (Exception e1)
				 {
					 JOptionPane.showMessageDialog(null, e1);
				 } 
			}
		});
		gumb_prikazi.setForeground(Color.BLUE);
		gumb_prikazi.setFont(new Font("Tahoma", Font.BOLD, 14));
		gumb_prikazi.setBounds(587, 135, 89, 23);
		frame.getContentPane().add(gumb_prikazi);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(34, 197, 700, 255);
		frame.getContentPane().add(scrollPane);
		
		tablica = new JTable();
		tablica.setModel(new DefaultTableModel(
			new Object[][] {
			},
			new String[] {
				"\u0160ifra evidencije", "Ukupni sat rada", "Mjesec rada", "Godina rada", "Iznos pla\u0107e"
			}
		));
		scrollPane.setViewportView(tablica);
		tablica.setFont(new Font("Tahoma", Font.PLAIN, 12));
		
		JButton gumb_obrisi = new JButton("Obriši");
		gumb_obrisi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			
				try
				 {
				 Class.forName("com.mysql.cj.jdbc.Driver");
				 Connection con=DriverManager.getConnection("jdbc:mysql://student.veleri.hr/mbukovic?serverTimezone=UTC", "mbukovic", "11");
				 String trazi = sifra_evidencije.getText().toString(); 
				 String upit="DELETE FROM EM_Evidencija_radnog_sata WHERE sifra_evidencije='"+trazi+"'";
				
				 PreparedStatement ps=con.prepareStatement(upit);
				
				 int obrisi=ps.executeUpdate();
	
				 if (obrisi>0)
				 JOptionPane.showMessageDialog(null,"Podaci su uspješno obrisani.");
				 }

				 catch (Exception e1)
				 {
				 System.out.println("Dogodila se greška!");
				 } 
			}
		});
		
		
		gumb_obrisi.setForeground(Color.BLUE);
		gumb_obrisi.setFont(new Font("Tahoma", Font.BOLD, 14));
		gumb_obrisi.setBounds(564, 491, 89, 23);
		frame.getContentPane().add(gumb_obrisi);
		
		JButton gumb_natrag = new JButton("Natrag");
		gumb_natrag.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			
				Glavni_izbornik.main(null);
				frame.dispose();
			}
		});
		gumb_natrag.setForeground(Color.RED);
		gumb_natrag.setFont(new Font("Tahoma", Font.BOLD, 14));
		gumb_natrag.setBounds(67, 491, 89, 23);
		frame.getContentPane().add(gumb_natrag);
		
		JLabel lblNewLabel_1 = new JLabel("Šifra evidencije:");
		lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblNewLabel_1.setBounds(92, 132, 138, 29);
		frame.getContentPane().add(lblNewLabel_1);
		
		sifra_evidencije = new JTextField();
		sifra_evidencije.setBounds(229, 134, 250, 29);
		frame.getContentPane().add(sifra_evidencije);
		sifra_evidencije.setColumns(10);	
	}
}*/

package evidencijaRadnika_EM;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Color;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Evidencija {

    private JFrame frame;
    private JTable tablica;
    private JTextField sifra_evidencije;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Evidencija window = new Evidencija();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public Evidencija() {
        initialize();
    }

    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 777, 573);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        JLabel lblNewLabel = new JLabel("EVIDENCIJA RADNIKA");
        lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 20));
        lblNewLabel.setBounds(250, 38, 250, 54);
        frame.getContentPane().add(lblNewLabel);

        JButton gumb_prikazi = new JButton("Prikaži");
        gumb_prikazi.addActionListener(e -> {
            try {
                // Provjerite unos šifre evidencije
                String sifra = sifra_evidencije.getText().trim();
                if (sifra.isEmpty()) {
                    JOptionPane.showMessageDialog(frame, "Morate unijeti šifru evidencije!");
                    return;
                }

                // Povezivanje s bazom podataka i izvršavanje SQL upita
                try (Connection con = DriverManager.getConnection("jdbc:mysql://student.veleri.hr/mbukovic?serverTimezone=UTC", "mbukovic", "11");
                     Statement st = con.createStatement()) {

                    String upit = "SELECT sifra_evidencije, ukupni_sat_rada, mjesec_rada, godina_rada, iznos_place " +
                            "FROM EM_Evidencija_radnog_sata WHERE sifra_evidencije = '" + sifra + "'";

                    try (ResultSet rs = st.executeQuery(upit)) {
                        ResultSetMetaData rsmd = rs.getMetaData();
                        DefaultTableModel model = (DefaultTableModel) tablica.getModel();

                        // Očistite postojeće redove u tabeli
                        model.setRowCount(0);

                        int stupac = rsmd.getColumnCount();
                        String[] ime_stupca = new String[stupac];
                        for (int i = 0; i < stupac; i++) {
                            ime_stupca[i] = rsmd.getColumnName(i + 1);
                        }
                        model.setColumnIdentifiers(ime_stupca);

                        // Dodajte redove u tablicu
                        while (rs.next()) {
                            String sifra_evidencije = rs.getString(1);
                            String ukupni_sat_rada = rs.getString(2);
                            String mjesec_rada = rs.getString(3);
                            String godina_rada = rs.getString(4);
                            String iznos_place = rs.getString(5);
                            String[] red = {sifra_evidencije, ukupni_sat_rada, mjesec_rada, godina_rada, iznos_place};
                            model.addRow(red);
                        }
                    }
                }
            } catch (SQLException e1) {
                JOptionPane.showMessageDialog(frame, "Greška pri dohvaćanju podataka: " + e1.getMessage());
            }
        });
        gumb_prikazi.setForeground(Color.BLUE);
        gumb_prikazi.setFont(new Font("Tahoma", Font.BOLD, 14));
        gumb_prikazi.setBounds(587, 135, 89, 23);
        frame.getContentPane().add(gumb_prikazi);

        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(34, 197, 700, 255);
        frame.getContentPane().add(scrollPane);

        tablica = new JTable();
        tablica.setModel(new DefaultTableModel(
                new Object[][]{},
                new String[]{"Šifra evidencije", "Ukupni sat rada", "Mjesec rada", "Godina rada", "Iznos plaće"}
        ));
        scrollPane.setViewportView(tablica);
        tablica.setFont(new Font("Tahoma", Font.PLAIN, 12));

        JButton gumb_obrisi = new JButton("Obriši");
        gumb_obrisi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String sifra = sifra_evidencije.getText().trim();
				if (sifra.isEmpty()) {
					JOptionPane.showMessageDialog(frame, "Morate unijeti šifru evidencije za brisanje!");
					return;
				}

				try (Connection con = DriverManager.getConnection("jdbc:mysql://student.veleri.hr/mbukovic?serverTimezone=UTC", "mbukovic", "11")) {
					String upit = "DELETE FROM EM_Evidencija_radnog_sata WHERE sifra_evidencije = ?";
					try (PreparedStatement ps = con.prepareStatement(upit)) {
						ps.setString(1, sifra);
						int obrisi = ps.executeUpdate();
						if (obrisi > 0) {
							JOptionPane.showMessageDialog(frame, "Podaci su uspješno obrisani.");
						} else {
							JOptionPane.showMessageDialog(frame, "Nije pronađena evidencija s tom šifrom.");
						}
					}
				} catch (SQLException ex) {
					JOptionPane.showMessageDialog(frame, "Greška pri brisanju podataka: " + ex.getMessage());
				}
			}
		});
        gumb_obrisi.setForeground(Color.BLUE);
        gumb_obrisi.setFont(new Font("Tahoma", Font.BOLD, 14));
        gumb_obrisi.setBounds(564, 491, 89, 23);
        frame.getContentPane().add(gumb_obrisi);

        JButton gumb_natrag = new JButton("Natrag");
        gumb_natrag.addActionListener(e -> {
            Glavni_izbornik.main(null); 
            frame.dispose();
        });
        gumb_natrag.setForeground(Color.RED);
        gumb_natrag.setFont(new Font("Tahoma", Font.BOLD, 14));
        gumb_natrag.setBounds(67, 491, 89, 23);
        frame.getContentPane().add(gumb_natrag);

        JLabel lblNewLabel_1 = new JLabel("Šifra evidencije:");
        lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
        lblNewLabel_1.setBounds(92, 132, 138, 29);
        frame.getContentPane().add(lblNewLabel_1);

        sifra_evidencije = new JTextField();
        sifra_evidencije.setBounds(229, 134, 250, 29);
        frame.getContentPane().add(sifra_evidencije);
        sifra_evidencije.setColumns(10);
    }
}

Editor is loading...
Leave a Comment