perfavore ragazzi sto impazzendo da qualche giorno. la mia applicazione dovrebbe eseguire una quert di ricerca prendendo il parametro da una textfield e stampare il risultato in una jtable tutto nello stesso frame.Praticamente devo inserire due volte e in 2 frame diversi per far funzionare tutto ,io invece desidererei avere una finestra con un pulsante e una casella di testo dove inserire l'argomento da cercare e sotto stampare una tabella con i risultati ora vi posto il codice poicheč non sono un esperto ditemi tutto quelllo che sto sbagliando.
import java.io.*;
import java.sql.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import javax.swing.*;
public class ciccio11 {
public static Vector columnNames = new Vector();
public static Vector data = new Vector();
private String query;
private int N;
private PreparedStatement stmnt;
private ResultSet rs;
private Connection conn = null;
private JFrame f = new JFrame ();
private JPanel p = new JPanel();
private JMenuBar menubar = new JMenuBar();
private JMenu Visualizza = new JMenu("Visualizza");
private JMenu file2 = new JMenu("cerca");;
private JMenuItem cercaanagrafica = new JMenuItem("Cerca Anagrafica");
private JMenuItem cercaticket = new JMenuItem("Cerca Ticket");
private JMenuItem Ticketinsospeso = new JMenuItem("Ticket insospeso");
private JMenuItem Diarioticket = new JMenuItem("Diario ticket");
String s;
private TextField re=new TextField(s,100);
private JButton b=new JButton("RIcerca");
private JTable table=new JTable(data, columnNames);
private JScrollPane scrollPane;
public ciccio11()
{
Visualizza.add(cercaanagrafica);
Visualizza.add(cercaticket);
Visualizza.add(Ticketinsospeso);
Visualizza.add(Diarioticket);
menubar.add(Visualizza);
menubar.add(file2);
b.addActionListener(new gestorePulsantesp(b,re,N));
f.add(p);
f.setTitle("Gestione finestra");
f.setLocation(0,0);
f.setSize(2000,2000);
f.addWindowListener (new gestoreF());
p.setLayout (new FlowLayout (FlowLayout.LEFT));
//p.add(img);
p.add(menubar);
p.add(re);
p.setLayout (new FlowLayout (FlowLayout.LEFT));
//String campo1=re.getText();
p.add(b);
p.add(table);
p.setOpaque(true);
f.setVisible(true);
}
public static void caricaDriver() {
//carico i driver di mysql
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception e){
System.err.println("Errore driver DB!");
System.err.println(e.getMessage());
}
}
public Connection connetti() throws SQLException {
//apro la connessione al DB
//return DriverManager.getConnection("jdbc:mysql://localhost/dillo", "massi", "serena");
conn=DriverManager.getConnection("jdbc:mysql://localhost/dillo", "root", "");
return conn;
}
public void svuelta(String s1)throws SQLException
{ s=s1;
query = "SELECT *from utenti where id="+s1;
//
stmnt = conn.prepareStatement(query);
rs = stmnt.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
for (int c=1; c <= columns; c++)
columnNames.add(md.getColumnName(c));
System.out.println(columns);
while (rs.next())
{
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );
}
data.addElement( row );
}
}
public static void main(String[] args) throws Exception {
ciccio11 spero = new ciccio11();
spero.caricaDriver();
spero.connetti();
//spero.svuelta();
}
}
questo č l'ascoltatore
import java.io.*;
import java.sql.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class gestorePulsantesp implements ActionListener
{ JButton b;TextField re;int N; // attributo privato necessario al costruttore
public gestorePulsantesp (JButton tf,TextField tf1,int c)
{ this.b= tf;
this.re= tf1;
this.N= c;
}
public void actionPerformed (ActionEvent e)
{
try{
if ( e.getSource()== b){ // oppure instanceof TextField
N = Integer.parseInt(re.getText());
String s1 = Integer.toString(N);
//re.setText("");
//System.out.print(N);
ciccio11 spero = new ciccio11 ();
//re.setText(s1);
spero.caricaDriver();
spero.connetti();
spero.svuelta(s1);
//spero.crea();
//spero.estrazione();
//System.out.print(+N)
}
}
catch (Exception u) {
u.printStackTrace();
}
//ciccio11 c = new ciccio11 ();
//msg_txt.setText("ciccio" /*e.getActionCommand*/);
}
}