Ciao!
riutilizzando questo codice abbiamo notato che la textfield txtUtente accetta solo caratteri numerici. Come si può risolvere questo problema facendo si che vengano accettati caratteri alfabetici?? aiuto!! VVoVe:

codice:
  import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.net.URL;
import java.net.MalformedURLException;
import javax.swing.JApplet.*;

public class Login3 extends JApplet
{
	JLabel labTitAccesso,labUtente,labPassword;
	JTextField txtUtente;
	JPasswordField txtPassword;
	JButton btnEntra;
	JPanel panCentrale,panTitolo,panUtente,panPassword,panPulsanti;

	private Connection connessione;

	public void init()
	{
	setSize(400,400);
	setBackground( Color.black);
	try {
	// Inizia connessione con il database
	Class.forName("com.mysql.jdbc.Driver");
	connessione=DriverManager.getConnection("jdbc:mysql://localhost:3306/schedule" , "root","root");
	}
	catch (ClassNotFoundException cnfex) {
	//processo ClassNotFoundExceptions qui
	System.err.println("Caricamento di driver JDBC/ODBC non riuscito");
	cnfex.printStackTrace();
	System.exit(1);
	}
	catch (SQLException sqlex) {
	//processo SQLExceptions qui
	System.err.println("Non è possibile completare la connessione");
	sqlex.printStackTrace();
	}

	panCentrale=new JPanel();
	panTitolo=new JPanel();
	panUtente=new JPanel();
	panPassword=new JPanel();
	panPulsanti=new JPanel();

	// imposto i layout dei pannelli
	setLayout(new BorderLayout());
	panCentrale.setLayout(new BoxLayout(panCentrale, BoxLayout.Y_AXIS));
	panUtente = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));
	panPassword = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));
	panPulsanti = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 10));

	// definizioni delle etichette
	labTitAccesso=new JLabel("Accesso Utenti",SwingConstants.CENTER);
	labUtente=new JLabel("Utente",SwingConstants.CENTER);
	labPassword=new JLabel("Password",SwingConstants.CENTER);

	// definizioni dei campi di testo
	txtUtente=new JTextField(10);
	// questo campo accetterà solo numeri e il pulsante
	txtUtente.addKeyListener(new KeyAdapter()
	{
	public void keyTyped(KeyEvent e)
	{
	char caracter = e.getKeyChar();
	if(((caracter <'0') ||(caracter> '9')) &&(caracter != KeyEvent.VK_BACK_SPACE))
	{
	e.consume();
	}
	}
	});
	txtPassword=new JPasswordField(10);

	// definizione del pulsante
	btnEntra=new JButton("Entra");
	// collego questo pulsante al metodo Login
	btnEntra.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
	Login(e);
	}
	});

	// inserimento degli elementi Swing ai pannelli
	panTitolo.add(labTitAccesso);
	panUtente.add(labUtente);
	panUtente.add(txtUtente);
	panPassword.add(labPassword);
	panPassword.add(txtPassword);
	panPulsanti.add(btnEntra);

	//inserimento dei pannelli al pannello centrale
	panCentrale.add(panTitolo);
	panCentrale.add(panUtente);
	panCentrale.add(panPassword);
	panCentrale.add(panPulsanti);

	add(panCentrale,BorderLayout.CENTER);

	}

	// metodo collegato al pulsante btnEntra
	public void Login(ActionEvent e)
	{

	try {
	if(!txtUtente.getText().equals("") && !txtPassword.getText().equals(""))
	{
	Statement statement =connessione.createStatement();
	// query che usa i dati dei campi Codice e Password della tabella Utenti
	String query="SELECT Cognome,Password FROM Utente_docente WHERE Cognome="+ txtUtente.getText()+
	" AND Password='"+txtPassword.getText()+"'";
	// stampa della stringa della query
	System.out.println("\nInviando query: "+connessione.nativeSQL(query)+"\n");

	ResultSet resultset=statement.executeQuery(query);
	display(resultset);
	statement.close();
	}
	else if(txtUtente.getText().equals("") && !txtPassword.getText().equals(""))
	{
	JOptionPane.showMessageDialog(null, "Inserisca Nome Utente","Login", JOptionPane.ERROR_MESSAGE);
	}
	else if(!txtUtente.getText().equals("") && txtPassword.getText().equals(""))
	{
	JOptionPane.showMessageDialog(null, "Inserisca Password","Login", JOptionPane.ERROR_MESSAGE);
	}
	else
	{ JOptionPane.showMessageDialog(null, "Inserisca Nome Utente e Password","Login", JOptionPane.ERROR_MESSAGE);}
	}
	// cattura eventuali errori ed eccezioni nella richiesta de la query
	catch(SQLException sqlex) {
	sqlex.printStackTrace();
	}
	}

	public void display(ResultSet resultset)
	{
	String urlString="Programma.html";
	URL url = null;

	try
	{
	if(resultset.next())
	{
	// Carica il file Programma.html nella stessa pagina dell'applet
	url = new URL(getDocumentBase(),urlString);
	getAppletContext().showDocument(url);
	JOptionPane.showMessageDialog(null, "Utente loggato" ,"Login", JOptionPane.INFORMATION_MESSAGE);
	}
	else
	{JOptionPane.showMessageDialog(null, "Riprovare","Login", JOptionPane.ERROR_MESSAGE);
	return; }
	}
	catch (MalformedURLException e) {
	System.err.println("Malformed URL: " + urlString);
	}
	catch (SQLException sqlex)
	{
	sqlex.printStackTrace();
	}
	}

}