Uso do Dispose

Pessoal, estou fazendo um trabalhoa acadeico e preciso de ajuda!!!
No meu caso é o seguinte o uso do " dispose() "
gera um erro na linha e não deixa salvar nem rodar

package com.opet.tsi.locadora;

import java.awt.;
import java.awt.event.
;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;

import javax.swing.;
import javax.swing.event.
;

import org.omg.SendingContext.RunTime;

import java.sql.*;

public class TelaLogin extends JDialog {
private JButton btn_Ok;
private JButton btn_Cancela;
private JButton btn_Ajuda;
private JLabel jcomp4;
private JTextField txt_usuario;
private JLabel jcomp6;
private JPasswordField jcomp7;

protected Connection abre_mysql () throws Exception {      
    try {
      // verifica e cria o link com o driver JDBC do mysql
      Class.forName ("org.gjt.mm.mysql.Driver");
      // Passa a con
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
      return con;
    } catch ( java.sql.SQLException e ) {
      System.out.println("A conexao foi recusada.");
      throw ( e );
    }
 }
public TelaLogin() {
	
	super((JFrame)null,true);
	//super("Login", true, true, true);
	JPanel panel = new JPanel(new GridLayout(3, 1));
    //construct components
    btn_Ok = new JButton ("Ok");
    btn_Cancela = new JButton ("Cancela");
    btn_Ajuda = new JButton ("Ajuda");
    jcomp4 = new JLabel ("Usuário");
    txt_usuario = new JTextField (20);
    jcomp6 = new JLabel ("Senha");
    jcomp7 = new JPasswordField (20);

    //adjust size and set layout
    setSize (400, 300);
    setLayout (null);

    //add components
    add (btn_Ok);
    add (btn_Cancela);
    add (btn_Ajuda);
    add (jcomp4);
    add (txt_usuario);
    add (jcomp6);
    add (jcomp7);

    //set component bounds (only needed by Absolute Positioning)
    btn_Ok.setBounds (65, 155, 100, 20);
    btn_Cancela.setBounds (210, 155, 100, 20);
    btn_Ajuda.setBounds (115, 200, 140, 20);
    jcomp4.setBounds (45, 45, 60, 25);
    txt_usuario.setBounds (105, 50, 160, 25);
    jcomp6.setBounds (45, 100, 50, 25);
    jcomp7.setBounds (105, 95, 160, 25);

    
    btn_Ok.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {
			{ 
				TelaLogin(); 
				dispose(); 

				}
			try {
				efetualogin();
				boolean isCorrect = true;
				 
				
			} catch (Exception e1) {
				boolean isCorrect = false;
				System.out.println("ERRO");
				e1.printStackTrace();
			}

		}

	});
	btn_Cancela.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {

			cancelalogin();

		}

	});
}


protected void cancelalogin() {
	// TODO Auto-generated method stub
	if(txt_usuario.getText().equals("")&& jcomp7.getPassword().equals("")){
		int result = JOptionPane.showConfirmDialog(this, "HAHAHA", "HAHAHA", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
	}
	else {
		int result = JOptionPane.showConfirmDialog(this, "Cancelamento", "Confirma", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
		if(result == JOptionPane.YES_OPTION){
			System.out.println("yes");

			txt_usuario.setText("");
			jcomp7.setText("");			
			
	}  else{
		System.out.println("no");
	}
 }

}




protected void efetualogin() throws Exception 
{
	try {  
	 Connection con = abre_mysql();
     Statement s = con.createStatement (); 	
     Statement stm = con.createStatement();   
     ResultSet rs = stm.executeQuery("SELECT Usuario, senha FROM login WHERE " +   
            "Usuario='"+txt_usuario.getText()+"' AND senha ='"+jcomp7.getPassword()+"'");     
      		
         if (rs.next())
         {   
                 TelaLogin.dispose();   
         }  
         rs.close();
         con.close();
     }
	catch (ClassNotFoundException e)
     {   
             JOptionPane.showMessageDialog(null, "Falha na conexão com o banco de dados.\n" + e.getMessage());   
                 e.printStackTrace();   
     }
	catch (SQLException e)
	{   
             JOptionPane.showMessageDialog(null, "Login Incorreto.\n" + e.getMessage() +   
                 "Tente novamente.\n","Mensagem do Programa", JOptionPane.ERROR_MESSAGE);   
                 e.printStackTrace();   
	}        
	
      
}
	


/*public void actionPerformed(ActionEvent e) {
	String cmd = e.getActionCommand();
	JOptionPane.showMessageDialog(this, "Chegou.");
	if (btn_Ok.equals(cmd)) { //Process the password.
		
		char[] input = jcomp7.getPassword();
		if (isPasswordCorrect(input)) {
			JOptionPane.showMessageDialog(this, "Logado com Sucesso.");
		}
	
		 else {
			JOptionPane.showMessageDialog(this,	"Senha ou Usuário incorreto");
		 }

		//	Zero out the possible password, for security.
		Arrays.fill(input, '0');

		jcomp7.selectAll();
		resetFocus();
	}
	

protected void resetFocus() {
	jcomp7.requestFocusInWindow();
}
public static void main (String[] args) {
    JFrame frame = new JFrame ("TelaLogin");
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add (new TelaLogin());
    frame.pack();
    frame.setVisible (true);
}

}

Tente trocar:

[code]public void actionPerformed(ActionEvent e) {
{
TelaLogin();
dispose();

}[/code]
por:

[code]public void actionPerformed(ActionEvent e) {
{
TelaLogin();
TelaLogin.dispose();

}[/code]

Uma dica, vc esqueceu de colocar a porta de conexão com o banco de dados. :wink:
Caso dê algum problema de conexão acrescente-a

Espero ter ajudado
T+

use a tag
CODE
assim fica mais facil de ver o seu cogig :shock: o…

erro