|
Ol�, Os dois programas em Java compilam, no
entanto n�o est�o funcionando.... o
que pode estar acontecendo? // dados.java
– programa que insere� e apresenta
valores do bd import java.sql.*; public class dados{ ������ private
Connection con; ������ private
Statement st; ������ private
ResultSet rs; ������ private
int nIndice = 1; ������ public
boolean criaConexao(){ ������������������ boolean
lRetorno; ������������������ try{ ����������������������������� Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ������������������ } ������������������ catch(ClassNotFoundException
e){ ����������������������������� System.out.println("Um erro ocorreu na conex�o:"); ����������������������������� System.exit(1); ����������������������������� lRetorno
= false; ������������������ } ������������������ try{ ����������������������������� con
= DriverManager.getConnection("jdbc:odbc:barra_odbc"); ����������������������������� st
= con.createStatement(); �� �������������������������� preencheTabelas(); ����������������������������� lRetorno
= true; ������������������ } ������������������ catch
(SQLException eSQL){ ����������������������������� System.out.println("Erro
na conex�o "); ����������������������������� System.exit(1); ����������������������������� lRetorno = false; ������������������ } ������������������ return
(lRetorno); ������ } ������ public void preencheTabelas(){ ������������������ int i; ������������������ float
numero; ������������������ String
comando; ������������������ try{ ����������������������������� st.executeUpdate("delete
from ValorBarra"); ����������������������������� for
(i = 1; i <= 100; i++){ ����������������������������������������� numero
= (float) (Math.random()*100); ����������������������������������������� comando
= "Insert Into ValorBarra values (" + i + ", " + numero +
")"; ����������������������������������������� st.executeUpdate(comando); ����������������������������� } ������������������ } ������������������ catch
(SQLException e){ ����������������������������� System.out.println("Erro ao pesquisar nas tabelas"); ����������������������������� System.exit(1); ������������������ } ������ } ������ public
float pegaValor(){ ������������������ try{ ����������������������������� rs
= st.executeQuery("select numero from ValorBarra where codigo = " +
nIndice); ����������������������������� if
(nIndice > 100) ����������������������������������������� nIndice
= 1; ����������������������������� else ����������������������������������������� nIndice++; ����������������������������� return
((new Float(rs.getString("numero").trim())).floatValue()); ������������������ } ������������������ catch
(SQLException eSQL){ ����������������������������� System.out.println("Erro ao pesquisar o valor da barra"); ����������������������������� System.exit(1); ����������������������������� return
(0); ������������������ } ������ } } //Escala.java -� programa que
pega os valores de dados.java e envia para serem
apresentados em um programa de realidade virtual VRML import java.awt.*; import java.util.*; import java.awt.event.*; import vrml.*; import vrml.node.*; import vrml.field.*; // nova
classe que eu criei; import dados; //import
testegraficoa; public class Escala extends Script { ��� private SFVec3f
novaEscala; ��� private SFFloat
timeStamp; ��� private boolean conectado; ��� private dados
oDados = new dados(); ��� // Vari�veis de controle do Java que s�o
associadas aos tipos do VRML ��� // Para cada n� VRML h� uma fun��o Java que
copia o valores ��� float esc[] = {1,
1, 1}; ��� // Lista de eventos que o Cortona envia para
o Java quando o n� ��� // Script do VRML � acionado ��� static String[]
eventos = {"novaEscala", "timeStamp"}; ��� // Obt�m os valores iniciais da cena VRML ��� // � chamado quando n� Script � criado ��� // Cada um dos campos recebe os valores
iniciais definidos na cena ��� public void initialize
(){ ��� ��� System.out.println("initialize - begin
"); ������� novaEscala = (SFVec3f) getEventOut ("novaEscala"); ������� timeStamp =
(SFFloat) getEventOut ("timeStamp"); ������� conectado =
oDados.criaConexao(); ������� if
(!conectado){ ��������������������������� System.out.println("N�o foi poss�vel conectar-se ao
banco!"); ��������������������������� System.exit(1); ��������������� } ��� ��� System.out.println("initialize - end
"); ��� } ��� public void
set_escala(){ ��������������� //testegraficoa bd = new
testegraficoa(); ������� //bd.pegaDados(); ������� esc[1] = (float)
oDados.pegaValor(); ��������������� novaEscala.setValue(esc); ��� } ��� public void
processEvent(vrml.Event e){ ��������������� set_escala(); ��� } } Programa de
em VRML: #VRML V2.0 utf8 DEF�������� G1
Group { ��� children [ ��������������� DEF
NO Transform { ��������������������������� scale
1 1 1 ��������������������������� children
[ ��������������������������������������� Shape
{ �������������������������������������������������� appearance
Appearance { �������������������������������������������������������������� material
DEF SphereColor Material { �������������������������������������������������������������������������� diffuseColor
1 0 0 �������������������������������������������������������������� } �������������������������������������������������� } �������������������������������������������������� geometry
Box� {} ��������������������������������������� } ��������������������������� � ] ��������������� } ��������������� Transform
{ ��������������������������� translation������� 3 3 3 ��������������������������� children
[ ��������������������������������������� Shape
{ �������������������������������������������������� appearance
Appearance { �������������������������������������������������������������� material
Material { �������������������������������������������������������������������������� diffuseColor
0 1 0 �������������������������������������������������������������� } �������������������������������������������������� } �������������������������������������������������� geometry
Box { size���� 1 1 1 } ��������������������������������������� } ��������������������������� ] ��������������� } ��� ] } DEF S Script{ ��� eventIn SFFloat timeStamp ��� eventOut
SFVec3f novaEscala ��� url "Escala.class" } DEF�������� tempo
TimeSensor { ��� enabled����������� TRUE ��� startTime 0 ��� loop TRUE } #Temporizador
para representar movimento na cena ROUTE tempo.fraction_changed TO������ S.timeStamp ROUTE S.novaEscala TO NO.scale Carolina V. Buk |
<<image001.jpg>>
