codice:
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/* Accesso, Assegnata, Docente, Laboratorio, Locale, Permesso, Personale,
Postazione_L, Postazione_V, Prenotazione, Risorsa, Studente, Tipo, Utente; */
public class Inserisci extends JPanel implements ItemListener, ActionListener {
JLabel lab[];
JTextField tf[];
int num_campi;
JButton fatto, uscita;
public String Risultati[], Titolo;
// fornisce le specifiche per ogni tipo di pannello
public static String[] Trova_campi(int valore) {
String campi[];
switch(valore) {
case 0: {
campi= new String[] {"Data accesso", "Ora accesso", "Tessera", "Denominazione", "Codice tipo", "Riuscito", "Giorno"};
String Titolo= "Accesso";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 1: {
campi= new String[] {"Mese", "Numero postazione vincolata", "Numero laboratorio", "Denominazione",
"Codice studente", "Codice docente"};
String Titolo= "Assegnata";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 2: {
campi= new String[] {"Codice docente", "Tessera"};
String Titolo= "Docente";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 3: {
campi= new String[] {"Numero laboratorio", "Denominazione", "Codice personale", "Codice docente"};
String Titolo= "Laboratorio";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 4: {
campi= new String[] {"Denominazione", "Via"};
String Titolo= "Locale";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 5: {
campi= new String[] {"Tessera", "Denominazione", "Codice Tipo"};
String Titolo= "Permesso";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 6: {
campi= new String[] {"Codice personale", "Tecnico (T/F)", "Tessera"};
String Titolo= "Personale";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 7: {
campi= new String[] {"Numero postazione","Numero laboratorio", "Denominazione"};
String Titolo= "Postazione_L";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 8: {
campi= new String[] {"Numero postazione","Numero laboratorio", "Denominazione"};
String Titolo= "Postazione_V";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 9: {
campi= new String[] {"Numero postazione", "Denominazione", "Numero laboratorio", "Codice studente",
"Codice docente","Data inizio","Data fine","Orario inizio","Orario fine", "Giorno"};
String Titolo= "Prenotazione";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 10: {
campi= new String[] {"Descrizione","Numero laboratorio", "Denominazione", "Codice risorsa"};
String Titolo= "Risorsa";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 11: {
campi= new String[] {"Codice studente", "Tessera"};
String Titolo= "Studente";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 12: {
campi= new String[] {"Codice tipo", "Giorno", "Orario inizio", "Orario fine"};
String Titolo= "Tipo";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 13: {
campi= new String[] {"Nome", "Cognome", "Citta", "Tessera"};
String Titolo= "Utente";
Inserisci pi= new Inserisci();
pi.crea_pannello_inserisci(campi, campi.length, Titolo);
}; break;
case 14: {
campi= new String[] {"USCITA"};
System.exit(0); break;
}
default: {
campi= new String[] {"ERRORE"};
System.out.println("Errore.");
System.exit(0);
}; break;
}
return(campi);
}
/**Crea il pannello**/
public void crea_pannello_inserisci(String campi[], int num_campi, String Titolo) {
// int lung=700, alt= 200;
// JFrame jf= Crea_finestra.crea_JF("Menù --> Inserisci --> " + Titolo, lung, alt);
// JPanel p= Crea_finestra.crea_JP(jf);
// Container cont_jf = jf.getContentPane();
/** lab e tf sono gli array di label o caselle di testo **/
lab = new JLabel[num_campi];
tf = new JTextField[num_campi];
/**
* assegno al label "i" un testo
* aggiungo il label al pannello
* faccio la stessa cosa con la casella di testo
**/
/* for(int i= 0; i< num_campi; i++) {
lab[i] = new JLabel(campi[i]);
p.add(lab[i]);
tf[i]= new JTextField("inserire testo..");
p.add(tf[i]);
}
fatto= new JButton("Fatto");
p.add(fatto);
uscita= new JButton("Esci");
p.add(uscita);
*/ }
public void actionPerformed (ActionEvent ae) {
if(ae.getSource()== fatto) {
for(int i= 0; i< num_campi; i++) {
Risultati[i]= tf[i].getText();
tf[i].setText(" ");
}
Inserisci con = new Inserisci();
con.connetti(Risultati);
}
if(ae.getSource()== uscita) {
System.exit(0);
}
}
/** Effettua la connessione con il database **/
public void connetti(String Risultati[]){
String sql = "INSERT INTO " + Titolo + " VALUES ('";
for (int i=0; i< num_campi-1; i++) {
sql= sql + Risultati[i] + "', '" ;
}
sql= sql + Risultati[num_campi-1] + "')'";
try {
Class.forName ("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/UniversDB", "muser", "pw");
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}
public void itemStateChanged(ItemEvent arg0) {
}
}
Quindi si, campi è un array di stringhe; nel "campi" della classe "Operazione_scelta" voglio che ci sia l'indirizzo del "campi" ritornato dalla classe "Inserisci".