/* programma di prova
questo programma  vi insegnerà a 
creare un form nella GUI e accedere e visualizzare
i dati 
*/


//librerie importate
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


//classe principale
class SwingDemo1 { 



	//modello classe swigdemo1
	public class ComboItem {
			private String key; // Il valore nascosto (ID, codice)
			private String value; // Il testo mostrato

		public ComboItem(String key, String value) {
			this.key = key;
			this.value = value;
		}

		public String getKey() {
			return key;
		}

		public String getValue() {
			return value;
		}

		// Questo è ciò che il JComboBox mostrerà
		@Override
		public String toString() {
			return value;
		}	
	}



	SwingDemo1 () {

		
		//parametri per la connessione al database MYSQL
		String DB_URL = "jdbc:mysql://127.0.0.1:3306/marco";
		String USER = "root";
		String PASS = "AmUnAKTRA76@";

		
		// Crea un nuovo contenitore JFrame"Una semplice swing application"
		JFrame jfr = new JFrame("Una semplice swing application");
		
		//Fornisce le dimensioni iniziali della FRAME 
		jfr.setSize(800,600);

		//Fornisce la posizione sullo schermo della FRAME 
		jfr.setLocation(200,200);

		//Termina il programma quando l'utente chiude la finestra
		jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
		//Crea una label che conterra' tutti gli elementi
		JLabel jlab = new JLabel("Hello world this is me");

		//specifico dimensioni iniziali e posizione
		jlab.setLocation(10,10);
		jlab.setSize(800,600);
		//La aggiungo al form
		jfr.add(jlab);


		// 3. Creazione della prima combobox
		JComboBox<ComboItem> combo = new JComboBox<>();
		//JComboBox combo = new JComboBox();
		combo.setSize(200,20);
		combo.setLocation(10,100);
		combo.addItem(new ComboItem("1", "Mela"));
		combo.addItem(new ComboItem("2", "Banana"));
		combo.addItem(new ComboItem("3", "Arancia"));

		
		//aggiunta action lister per il combo box 
		
		combo.addActionListener(e -> {
			ComboItem selectedItem = (ComboItem) combo.getSelectedItem();
			if (selectedItem != null) {
				String idSelezionato = selectedItem.getKey();
				String testoSelezionato = selectedItem.getValue();
				System.out.println("ID: " + idSelezionato + ", Testo: " + testoSelezionato);
			}
		});
		
		
		// 2. Aggiunta componenti al pannellino label non al form 


 		jlab.add(combo);
;
	
		// visualizza il form
		jfr.setVisible(true);

	}

	// chiamata a main
	public static void main(String args[]) {
		// Crea una frame sul thread di esecuzione evitando sovraccarico CPU
		SwingUtilities.invokeLater(new Runnable() {
			public void run ()	{
				new SwingDemo1();
			}
		});
	}
}