package GUIAnwendungen.StudentManagementSystem;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JList;
import javax.swing.JOptionPane;

import java.awt.ScrollPane;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.ListSelectionModel;

public class Student_login extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField eingabeId;
	private JTextField eingabeName;
	private JTextField eingabeVorname;
	private JTextField eingabeGeburtstag;
	private JTextField eingabeTeleN;
	private JTextField eingabeEmail;
	private JTextField eingabeAdresse;
	private JTextField eingabeIdZuLoeschen;
	private JTextField eingabeNameZuSuchen;
	private JButton insertStudent;
	private JButton updateStudent;
	private JButton loescheStudent;
	private JButton sucheStudent;
	private JButton zeigeAlleStudent;
	private DefaultTableModel model = new DefaultTableModel();
	private JTable table;
	private JComboBox eingabeGeschlecht;


	

	public Student_login() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 852, 511);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JPanel loesche_suche = new JPanel();
		loesche_suche.setBackground(new Color(0, 128, 255));
		loesche_suche.setBounds(0, 0, 257, 412);
		contentPane.add(loesche_suche);
		loesche_suche.setLayout(null);
		
		JLabel idStudent = new JLabel("ID: ");
		idStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		idStudent.setForeground(new Color(255, 255, 255));
		idStudent.setBounds(10, 11, 46, 14);
		loesche_suche.add(idStudent);
		
		JLabel nameStudent = new JLabel("Name: ");
		nameStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		nameStudent.setForeground(new Color(255, 255, 255));
		nameStudent.setBounds(10, 47, 46, 14);
		loesche_suche.add(nameStudent);
		
		JLabel vorname_student = new JLabel("Vorname:");
		vorname_student.setFont(new Font("Tahoma", Font.BOLD, 12));
		vorname_student.setForeground(new Color(255, 255, 255));
		vorname_student.setBounds(10, 81, 61, 14);
		loesche_suche.add(vorname_student);
		
		JLabel geburtstagStudent = new JLabel("Geburtstag: ");
		geburtstagStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		geburtstagStudent.setForeground(new Color(255, 255, 255));
		geburtstagStudent.setBounds(10, 122, 77, 14);
		loesche_suche.add(geburtstagStudent);
		
		JLabel geschlechtStudent = new JLabel("Geschlecht: ");
		geschlechtStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		geschlechtStudent.setForeground(new Color(255, 255, 255));
		geschlechtStudent.setBounds(10, 160, 77, 14);
		loesche_suche.add(geschlechtStudent);
		
		JLabel teleNStudent = new JLabel("TeleN: ");
		teleNStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		teleNStudent.setForeground(new Color(255, 255, 255));
		teleNStudent.setBounds(10, 198, 46, 14);
		loesche_suche.add(teleNStudent);
		
		JLabel emailStudent = new JLabel("Email: ");
		emailStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		emailStudent.setForeground(new Color(255, 255, 255));
		emailStudent.setBounds(10, 239, 46, 14);
		loesche_suche.add(emailStudent);
		
		JLabel adresseStudent = new JLabel("Adresse:");
		adresseStudent.setFont(new Font("Tahoma", Font.BOLD, 12));
		adresseStudent.setForeground(new Color(255, 255, 255));
		adresseStudent.setBounds(10, 280, 61, 14);
		loesche_suche.add(adresseStudent);
		
		insertStudent = new JButton("Insert");
		insertStudent.setBounds(10, 340, 89, 23);
		loesche_suche.add(insertStudent);
		
		updateStudent = new JButton("Update");
		updateStudent.setBounds(120, 340, 89, 23);
		loesche_suche.add(updateStudent);
		
		eingabeId = new JTextField();
		eingabeId.setBounds(161, 11, 86, 20);
		loesche_suche.add(eingabeId);
		eingabeId.setColumns(10);
		
		eingabeName = new JTextField();
		eingabeName.setColumns(10);
		eingabeName.setBounds(161, 45, 86, 20);
		loesche_suche.add(eingabeName);
		
		eingabeVorname = new JTextField();
		eingabeVorname.setColumns(10);
		eingabeVorname.setBounds(161, 79, 86, 20);
		loesche_suche.add(eingabeVorname);
		
		eingabeGeburtstag = new JTextField();
		eingabeGeburtstag.setColumns(10);
		eingabeGeburtstag.setBounds(161, 120, 86, 20);
		loesche_suche.add(eingabeGeburtstag);
		
		eingabeTeleN = new JTextField();
		eingabeTeleN.setColumns(10);
		eingabeTeleN.setBounds(161, 196, 86, 20);
		loesche_suche.add(eingabeTeleN);
		
		eingabeEmail = new JTextField();
		eingabeEmail.setColumns(10);
		eingabeEmail.setBounds(161, 237, 86, 20);
		loesche_suche.add(eingabeEmail);
		
		eingabeAdresse = new JTextField();
		eingabeAdresse.setColumns(10);
		eingabeAdresse.setBounds(161, 278, 86, 20);
		loesche_suche.add(eingabeAdresse);
		
		eingabeGeschlecht = new JComboBox();
		eingabeGeschlecht.setModel(new DefaultComboBoxModel(new String[] {"Mähnlich", "Weiblich", "Divers"}));
		eingabeGeschlecht.setBounds(161, 157, 86, 22);
		loesche_suche.add(eingabeGeschlecht);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBackground(new Color(128, 255, 0));
		panel_1.setBounds(256, 0, 512, 121);
		contentPane.add(panel_1);
		panel_1.setLayout(null);
		
		loescheStudent = new JButton("Löschen");
		loescheStudent.setBounds(10, 11, 89, 23);
		panel_1.add(loescheStudent);
		
		sucheStudent = new JButton("Suchen");
		sucheStudent.setBounds(10, 45, 89, 23);
		panel_1.add(sucheStudent);
		
		zeigeAlleStudent = new JButton("Zeige Alle");
		zeigeAlleStudent.setBounds(10, 79, 89, 23);
		panel_1.add(zeigeAlleStudent);
		
		eingabeIdZuLoeschen = new JTextField();
		eingabeIdZuLoeschen.setBounds(132, 12, 86, 20);
		panel_1.add(eingabeIdZuLoeschen);
		eingabeIdZuLoeschen.setColumns(10);
		
		eingabeNameZuSuchen = new JTextField();
		eingabeNameZuSuchen.setColumns(10);
		eingabeNameZuSuchen.setBounds(132, 46, 86, 20);
		panel_1.add(eingabeNameZuSuchen);
		
		JLabel InfoLabel = new JLabel("<< Gib ID an");
		InfoLabel.setBounds(241, 15, 196, 14);
		panel_1.add(InfoLabel);
		
		JLabel InfoLabel_1 = new JLabel("<< Gib Name an");
		InfoLabel_1.setBounds(241, 49, 196, 14);
		panel_1.add(InfoLabel_1);
		
		JPanel zeigeAllePanel = new JPanel();
		zeigeAllePanel.setForeground(new Color(192, 192, 192));
		zeigeAllePanel.setBounds(256, 120, 512, 284);
		contentPane.add(zeigeAllePanel);

		zeigeAllePanel.setLayout(null);

		table = new JTable(model); 
		model.addColumn("Id");
		model.addColumn("Name");
		model.addColumn("Vorname");
		model.addColumn("Geburtstag");
		model.addColumn("Geschlecht");
		model.addColumn("TeleN");
		model.addColumn("Email");
		model.addColumn("Adresse");
		
		
		JScrollPane scrollPane = new JScrollPane(table);
		scrollPane.setBounds(0, 0, 512, 284);
		zeigeAllePanel.add(scrollPane); 
		
		this.setVisible(true);
	}
	
	public void showInfo(String message) {
		  JOptionPane.showMessageDialog(null, message, "Studen angemeldet", JOptionPane.INFORMATION_MESSAGE);

	}
	
	public void showErrore(String error) {
		  JOptionPane.showMessageDialog(null, error, "Studen nicht gefunden", JOptionPane.ERROR_MESSAGE);

	}

	public JTextField getEingabeId() {
		return eingabeId;
	}

	public JTextField getEingabeName() {
		return eingabeName;
	}

	public JTextField getEingabeVorname() {
		return eingabeVorname;
	}

	public JTextField getEingabeGeburtstag() {
		return eingabeGeburtstag;
	}

	public JTextField getEingabeTeleN() {
		return eingabeTeleN;
	}

	public JTextField getEingabeEmail() {
		return eingabeEmail;
	}

	public JTextField getEingabeAdresse() {
		return eingabeAdresse;
	}

	public JTextField getEingabeIdZuLoeschen() {
		return eingabeIdZuLoeschen;
	}
	
	

	public void setEingabeId(String id) {
		this.eingabeId.setText(id); 
	}

	public void setEingabeName(String eingabeName) {
		this.eingabeName.setText(eingabeName);;
	}

	public void setEingabeVorname(String eingabeVorname) {
		this.eingabeVorname.setText(eingabeVorname);;
	}

	public void setEingabeGeburtstag(String eingabeGeburtstag) {
		this.eingabeGeburtstag.setText(eingabeGeburtstag);;
	}

	public void setEingabeTeleN(String eingabeTeleN) {
		this.eingabeTeleN.setText(eingabeTeleN);;
	}

	public void setEingabeEmail(String eingabeEmail) {
		this.eingabeEmail.setText(eingabeEmail);;
	}

	public void setEingabeAdresse(String eingabeAdresse) {
		this.eingabeAdresse.setText(eingabeAdresse);;
	}

	public void setEingabeIdZuLoeschen(String eingabeIdZuLoeschen) {
		this.eingabeIdZuLoeschen.setText(eingabeIdZuLoeschen);;
	}

	public void setEingabeNameZuSuchen(String eingabeNameZuSuchen) {
		this.eingabeNameZuSuchen.setText(eingabeNameZuSuchen);;
	}

	public void setInsertStudent(JButton insertStudent) {
		this.insertStudent = insertStudent;
	}

	public void setUpdateStudent(JButton updateStudent) {
		this.updateStudent = updateStudent;
	}

	public void setLoescheStudent(JButton loescheStudent) {
		this.loescheStudent = loescheStudent;
	}

	public void setSucheStudent(JButton sucheStudent) {
		this.sucheStudent = sucheStudent;
	}

	public void setZeigeAlleStudent(JButton zeigeAlleStudent) {
		this.zeigeAlleStudent = zeigeAlleStudent;
	}

	public void setModel(DefaultTableModel model) {
		this.model = model;
	}

	public void setTable(JTable table) {
		this.table = table;
	}

	public void setEingabeGeschlecht(JComboBox eingabeGeschlecht) {
		this.eingabeGeschlecht = eingabeGeschlecht;
	}

	public JTextField getEingabeNameZuSuchen() {
		return eingabeNameZuSuchen;
	}

	public JButton getInsertStudent() {
		return insertStudent;
	}

	public JButton getUpdateStudent() {
		return updateStudent;
	}

	public JButton getLoescheStudent() {
		return loescheStudent;
	}

	public JButton getSucheStudent() {
		return sucheStudent;
	}

	public JButton getZeigeAlleStudent() {
		return zeigeAlleStudent;
	}

	public JTable getTable() {
		return table;
	}

	public JComboBox getEingabeGeschlecht() {
		return eingabeGeschlecht;
	}
	
	public DefaultTableModel getModel() {
		return model;
	}
	
	
}
