Problema com FrameView

5 respostas
A

bom dia!

estou tentando montar uma interface gráfica utilizando FrameView, mas eu não consigo fazer chamadas a métodos externos a classe "DesktopApplicationView".

segue a parte que interessa do código(o resto foi gerado pelo NetBeans):
package desktopapplication1;

import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import org.jdesktop.*;
import java.sql.*;
import javax.swing.JOptionPane;

/**
 * The application's main frame.
 */
public class DesktopApplication1View extends FrameView {
    public void DesktopApplication1View(){
    }

/*
...
*/

 Conex conex = new Conex();


    @Action
    public void desconectar() {
     
	JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
        conex.desconectar();
		
    }

    @Action
    public void conectar() {
        JOptionPane.showMessageDialog(null, "ok!");
       conex.conectar();
    }
/*
...
*/
}
classe Conex:
package desktopapplication1;
import java.sql.*;
import javax.swing.JOptionPane;
public class Conex {

    public Connection con;
    public Statement stm;

    public void Conex(){}

    public void conectar(){
        try
		{
                        JOptionPane.showMessageDialog(null, "Preparando para iniciar a conexão com o BD;");
                        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch (ClassNotFoundException e)
		{
			JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
			System.exit(0);
		}
		try
		{
                        con = DriverManager.getConnection("jdbc:odbc:selecao");
			stm = con.createStatement();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, "Problema ao conectar!");
			System.exit(0);
		}

		JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
	}
    

           public void desconectar(){
            try
		{
			con.close();
		}
		catch (SQLException sqle)
		{
			JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
			System.exit(0);
		}
    }
}
erros gerados:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: desktopapplication1/Conex
        at desktopapplication1.DesktopApplication1View.<init>(DesktopApplication1View.java:323)
        at desktopapplication1.DesktopApplication1.startup(DesktopApplication1.java:19)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: desktopapplication1.Conex
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        ... 11 more

como fazer para um botão da interface gráfica chamar uma função de outra classe corretamente?

agradeço atecipadamente,
abraços

5 Respostas

G

qual banco de dados voce quer se conectar?

A

um banco Access. ja fiz o apontamento do banco junto ao driver via Ferramentas Administrativas / Fonte ODBC

G

acess nao sei mto bem mas num tem nem login nem senha nao?

A

é a primeira vez que eu uso access como banco, também não sei te responder, mas de qualquer maneira o erro aparece na compilação, antes que haja tentativa de conexão/manipulação

G

disculpa falar assim mas seu codigo ta mto porco tenta usar padrao MVC leia um tutorial eu vo te passar mais ou menos

public Connection getConexao() throws SQLException { DriverManager.registerDriver(new OracleDriver()); Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@"+host+":"+ port+":xe" , login, senha); return con; }

daii no seu button voce pega esse getConexao

Criado 15 de setembro de 2009
Ultima resposta 15 de set. de 2009
Respostas 5
Participantes 2