Aí vai o código:
import java.applet.<em>;
import java.awt.</em>;
import java.util.<em>;
import java.lang.</em>;
import java.sql.*;
import vrml.external.field.<em>;
import vrml.external.exception.</em>;
import vrml.external.Node;
import vrml.external.Browser;
public class BallGrow extends Applet {
Browser browser;
Node root;
EventInSFVec3f set_scale;
EventInSFVec3f set_translation;
float esc[] = {1, 1, 1};
java.awt.Scrollbar scalex;
java.awt.Scrollbar scaley;
java.awt.Scrollbar scalez;
java.awt.Scrollbar transx;
java.awt.Scrollbar transy;
java.awt.Scrollbar transz;
Button resetButton;
Button setaValor;
TextArea output = null;
Connection con;
Statement st;
ResultSet rs;
boolean bConectado = false;
float[] initScale = new float[3];
float[] initTrans = new float[3];
public void init ()
{
setBackground(new Color(0xd9d9d9));
add(new java.awt.Label("FeedBack Information:"));
output = new TextArea(5, 40);
add(output);
add(resetButton = new Button("RESET"));
add(setaValor = new Button("Novo Valor"));
Panel scalePanel = new Panel ();
scalePanel.setLayout (new GridLayout (3,2));
scalePanel.add(new java.awt.Label("X-Scale: "));
scalePanel.add(scalex =
new java.awt.Scrollbar(0, 10, 10, 1, 100));
scalePanel.add(new java.awt.Label("Y-Scale: "));
scalePanel.add(scaley =
new java.awt.Scrollbar(0, 10, 10, 1, 100));
scalePanel.add(new java.awt.Label("Z-Scale: "));
scalePanel.add(scalez =
new java.awt.Scrollbar(0, 10, 10, 1, 100));
Panel transPanel = new Panel ();
transPanel.setLayout (new GridLayout (3,2));
transPanel.add(new java.awt.Label("X-Translation: "));
transPanel.add(transx =
new java.awt.Scrollbar(0, 10, 10, -100, 100));
transPanel.add(new java.awt.Label("Y-Translation: "));
transPanel.add(transy =
new java.awt.Scrollbar(0, 10, 10, -100, 100));
transPanel.add(new java.awt.Label("Z-Translation: "));
transPanel.add(transz =
new java.awt.Scrollbar(0, 10, 10, -100, 100));
add (scalePanel);
add (transPanel);
initTrans[0] = 0.0f; initTrans[1] = 0.0f; initTrans[2] = 0.0f;
initScale[0] = 1.0f; initScale[1] = 1.0f; initScale[2] = 1.0f;
browser = Browser.getBrowser(this);
try
{
root = browser.getNode("ROOT");
output.appendText("Peguei root :)
");
set_scale = (EventInSFVec3f) root.getEventIn("scale");
output.appendText("Peguei set_scale :)
");
set_translation = (EventInSFVec3f) root.getEventIn("translation");
output.appendText("Peguei set_translation :)
");
}
catch (InvalidNodeException e)
{
output.appendText("PROBLEMS!: " + e + "
");
}
catch (InvalidEventInException e)
{
output.appendText("PROBLEMS!: " + e + "
");
}
}
public boolean handleEvent (Event event)
{
if (event.target instanceof Scrollbar)
{
Scrollbar bar = (Scrollbar) event.target;
if ((bar == scalex) ||
(bar == scaley) ||
(bar == scalez))
{
float[] val = new float[3];
val[0] = ((float) scalex.getValue()) / 10.0f;
val[1] = ((float) scaley.getValue()) / 10.0f;
val[2] = ((float) scalez.getValue()) / 10.0f;
output.appendText("Set Scale Value:" + " x=" + val[0] + " y=" + val[1] + " z=" + val[2] + "
");
set_scale.setValue(val);
}
else
{
if ((bar == transx) ||
(bar == transy) ||
(bar == transz))
{
float[] val = new float[3];
val[0] = ((float) transx.getValue()) / 10.0f;
val[1] = ((float) transy.getValue()) / 10.0f;
val[2] = ((float) transz.getValue()) / 10.0f;
output.appendText("Set Trans Value:" + " x=" + val[0] + " y=" + val[1] + " z=" + val[2] + "
");
set_translation.setValue(val);
}
}
return true;
}
else
{
if (event.target instanceof Button)
{
Button b = (Button)
event.target;
if (b == resetButton)
{
set_scale.setValue(initScale);
set_translation.setValue(initTrans);
}
if (b == setaValor)
{
float[] val = new float[3];
if (!bConectado)
{
bConectado = true;
output.append("Tentando criar os dados:
");
conecta();
}
val[0] = (01.0f);
val[1] = buscaValor();
val[2] = (01.0f);
output.appendText("Set Scale Value:" + " x=" + val[0] + " y=" + val[1] + " z=" + val[2] + "
");
set_scale.setValue(val);
}
return true;
}
}
return super.handleEvent(event);
}
public void conecta()
{
output.append("Criando serviço de dados
");
try
{
output.append("Chamando Class.forName
");
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
output.append("Chamando DriverManager
");
con = DriverManager.getConnection(“jdbc:odbc:Dados_VRML”);
output.append("Terminado o DriverManager
");
}
catch (Exception expE)
{
output.append("Erro geral:
");
output.append(expE.getMessage() + "
");
}
Criando objetos de conexão
");
try
{
st = con.createStatement();
rs = st.executeQuery(“select * from tbValores order by indice”);
}
catch (SQLException sqlE)
{
output.append("Erro com a consulta SQL:
");
output.append(sqlE.getMessage());
}
catch (Exception E)
{
output.append("Erro Geral ao criar Statement:
");
output.append(E.getMessage() + "
");
}
}
public float buscaValor()
{
try
{
if (rs.next())
{
return (rs.getFloat(“valor”));
}
else
{
try
{
rs = st.executeQuery(“select * frm tbValores order by indice”);
}
catch (SQLException sqlE)
{
output.append("Erro ao acessar os dados:
");
output.append(sqlE.getMessage() + "
");
}
return ((float)(0.00));
}
}
catch (SQLException sqlE)
{
output.append("Erro ao acessar os dados:
");
sqlE.printStackTrace();
return ((float)(0.00));
}
}
}