Ciao a tutti, mi stavo esercitando con le gui e gli eventi, ho creato una classe che legge dei dati da una gui con le JTextField e li inserisce in un database, adesso volevo provare ad ampliare l'interfaccia grafica inserendo due pannelli che una volta cliccato su invia dati in uno si visualizzasse la query effettuata che esce nella console(utilizzo eclipse) e nell'altro pannello si visualizzassero i dati della lettura al database, sapete come posso fare per trasferire questi dti che sono stampati nella console in una JTextArea o simili? vi posto il codice fatto fin ora
se riusciste a darmi qualche suggeriemnto poi mi documento anche da sola...grazie in anticipocodice:import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; import javax.swing.JPanel; import javax.swing.JTextField; @SuppressWarnings("serial") public class Frame extends JFrame{ public static String DRIVER = ""; public static String DB_URL = ""; public static String DB_USERNAME = ""; public static String DB_PASSWORD = ""; public final int LARGHEZZA = 300; public final int ALTEZZA = 150; public final int ASCISSA = 300; public final int ORDINATA = 150; public Frame(int larghezze , int altezza, int ascissa, int ordinata, String titolo, int azione){ super(titolo); this.setSize(larghezze, altezza); this.setLocation(ascissa, ordinata); this.setDefaultCloseOperation(azione); //creo il pannello JPanel pannello = new JPanel(); JPanel queryPanel = new JPanel(); JPanel letturaDatabase = new JPanel(); Container contentPane = this.getContentPane(); contentPane.add(pannello); contentPane.add(letturaDatabase, BorderLayout.EAST); contentPane.add(queryPanel, BorderLayout.EAST); JLabel cognome = new JLabel("Cognome"); pannello.add(cognome); final JTextField testoCognome = new JTextField(10); pannello.add(testoCognome); JLabel nome = new JLabel("Nome"); pannello.add(nome); final JTextField testoNome = new JTextField(10); pannello.add(testoNome); JLabel eta = new JLabel("Età"); pannello.add(eta); final JTextField testoEta = new JTextField(10); pannello.add(testoEta); //bottone d'invio JButton invia = new JButton ("Invia dati"); pannello.add(invia); invia.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ try { Class.forName(DRIVER); Connection conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); String SqlInsert = "INSERT INTO PERSONA (cognome, nome, eta) " + "VALUES ('"+ testoCognome.getText() +"','"+ testoNome.getText() +"','"+ testoEta.getText() +"')"; System.out.println(SqlInsert); Statement stQuery = conn.createStatement(); stQuery.execute(SqlInsert); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }}); //lettura database JTextArea lettura = new JTextArea(); letturaDatabase.add(lettura); try { Class.forName(DRIVER); Connection conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); String SqlLeggi = "SELECT cognome,nome,eta FROM PERSONA"; Statement stQuery = conn.createStatement(); ResultSet resultset = stQuery.executeQuery(SqlLeggi); if (resultset.next()) { System.out.println(resultset.getString("cognome")); System.out.println(resultset.getString("nome")); System.out.println(resultset.getString("eta")); } resultset.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { //crea il frame Frame aframe = new Frame(150,200,350,300,"Inserisci i tuoi dati",JFrame.EXIT_ON_CLOSE); aframe.setVisible(true); } }

Rispondi quotando