Tutorial de Introducción al Google Web Toolkit
Para los que no sepan de que va el rollo... Google Web Toolkit es un frame work desarrollado por Google, que nos permitirá crear aplicaciones web en AJAX, programando en Java. AJAX (cuyo significado es Asynchronous JavaScript And XML) es muy popular por estos tiempos, ya que permite crear Webs dinámicas, y asÃncronas, esto quiere decir que podemos realizar cambios en la página sin necesidad de recargarla. Un ejemplo de AJAX, es Gmail o Google Reader.
En verdad habÃa oÃdo hablar de GWT en algunas ocasiones, pero no habÃa tenido el tiempo para estudiarlo un poco. Y debo decir que, después de estudiarlo un poco, me deja gratamente sorprendido. Lo único que no me gustó, es que hay muy poco material en español. Es por esto que he escrito un tutorial de Google Web Toolkit en castellano, basándome principalmente en la documentación oficial, y estoy seguro que le será muy útil a las personas que deseen iniciarse en el tema.
De momento no tiene todo el contenido que me hubiera gustado incluir, pero para comenzar está bien; la idea es continuar ampliando su contenido. Además no le he pasado ni una revisada con el corrector ortográfico, y si bien considero que tengo buena ortografÃa… no soy una máquina y probablemente haya errores. El documento queda licenciado bajo la GFDL, por lo tanto son libres de modificar, copiar y distribuir con o sin ánimo de lucro, siempre y cuando se cumplan las condiciones que la misma licencia exige.
Descargas (versión 1.0)
- Descargar archivo de texto editable (Creado con OpenOffice.org Writer, obviamente)
- Descargar versión en PDF









MaryG dice:
Septiembre 8th, 2008 a las 1:22 pm
Hoola-hola!, qué crees ‘casidiablo’, tengo un mÃnimo problema, que me temo no deberÃa incluir aquÃ, ya que el espacio está dedicado a GWT, pero dado que no lo compendo y sé que tú puedes ayudarme, me atreveré a continuar.
Estoy tratando hacer un programita bien sencillo para calcular la distancia entre dos puntos, con la fórmula matemática conocida. Este es el código:
import java.lang.Math.*;
public class DistanciaEntrePuntos {
//variable de la clase DistanciaEntrePuntos, para guardar la distancia:
static double dist;
public DistanciaEntrePuntos(){
}
//clase interna para el punto1
public class Punto1{
//coordenadas para el punto1
public double X1, Y1;
//Constructor de la clase Punto1
public Punto1(double X1, double Y1){
this.X1 = X1;
this.Y1 = Y1;
}
}
//clase interna para el punto2
public class Punto2{
//coordenadas para el punto2
public double X2, Y2;
//Constructor de la clase Punto2
public Punto2(double X2, double Y2){
this.X2 = X2;
this.Y2 = Y2;
}
}
//Este main corresponde a la clase DistanciaEntrePuntos
public static void main(String[] args) {
DistanciaEntrePuntos d = new DistanciaEntrePuntos();
*Punto1 p1 = new Punto1();
*Punto2 p2 = new Punto2();
dist = java.lang.Math.sqrt(java.lang.Math.pow(p2.X2-p1.X1, 2d) + (java.lang.Math.pow(p2.Y2-p1.Y1,2d)));
System.out.println(”La distancia entre los puntos es: ” + d.dist);
}
}
Y este el mensaje que me aparece en el editor de código (sobre las lÃneas con *):
No enclosing instance of type DistanciaEntrePuntos is accesible. Must qualify the
allocation with an enclosing instance of type DistanciaEntrepuntos (e.g. x.new A()
where x is an instance of DistanciaEntrePuntos).
No entiendo, cuál es el problema?. Me imagino que debe tratarse de algo relacionado con las clases inner, puedes resonder?
Cristian dice:
Septiembre 8th, 2008 a las 1:45 pm
Mary, entre otras cosas, tienes los siguientes problemas: estas intentando iniciar un objeto (Punto1 y Punto2) con un constructor que no existe.
Checa eso
MaryG dice:
Septiembre 8th, 2008 a las 3:27 pm
No pues sÃ, eso a simple vista, sucede que he estado modificando el archivo, y al parecer no te envié la versión con los problemas, pero para esas lÃneas tenÃa:
Punto1 pt1 = new Punto1(5.0,3.0);
Punto2 pt2 = new Punto2(2.0,4.0);
Gracias
Cristian dice:
Septiembre 8th, 2008 a las 3:33 pm
Reemplaza:
public class Punto1por:
public static class Punto1Lo mismo para Punto2. A mi me funciona
Sara Garcia añez dice:
Octubre 20th, 2008 a las 4:01 pm
quisiera saber si me puden ayudar sore como puedo hacer que en gwt se muestren los datos de dos tablas diferentes en un mismo grid, como puedo insertar un boton en una columna de ese mismo grid, porfa ayudenmecon un codigode ejemplo o algo.
Gracias.
Sara
Sara Garcia añez dice:
Octubre 20th, 2008 a las 4:02 pm
Me puedenn audar??
Gracias.
Sara
MaryG dice:
Octubre 20th, 2008 a las 4:28 pm
Hola Sara, yo no sé mucho, por que también me estoy iniciando XD, sin embargo con ayuda de foros –como este–, y un amigo, que precisamente hice preguntando sobre el tópico he estado checando algunas cosas. En primera instancia yo te puedo decir que es complejo GWT, pero bien la pena los resultados… Actualmente yo lo estoy probando usando como IDE Netbeans, porque Eclipse me pareció tedioso, me pedÃa agregar plug-ins para muuchas cosas… yo te recomiendo Netbeans, y fÃjate que hay una biblioteca muy atractiva Gwt-Ext, junto con ext-js que le dan una apariencia aún más atractiva a tus GUI (Interfaz Gráfica de Usuario)…
Dudo que encuentres un código como el que pides, no por complicado,… ¿qué te parece si empiezas probandolo tú misma?
Mira te dejo la liga de Gwt-Ext, incluso ahà viene el demo, y para cada widget trae su codigo fuente para que te bases en los ejemplos: http://www.gwt-ext.com/demo/
Si eres primeriza, lo que te recomiendo es paciencia, asà nos pasa… ¡hasta pronto y mucha suerte!
ecg86 dice:
Diciembre 29th, 2008 a las 10:39 am
quetal, MaryG, creo que lo que necesitas es algo como esto:
public class Distancia {
static class Punto {
private double x;
private double y;
public Punto (double x, double y) {
this.setX(x);
this.setY(y);
}
public void setX(double x) {
this.x = x;
}
public double getX() {
return x;
}
public void setY(double y) {
this.y = y;
}
public double getY() {
return y;
}
}
public static void main (String []args) {
Punto punto1 = new Punto (2.0, -1.8);
Punto punto2 = new Punto (2.0, 1.8);
double dx = punto1.getX() - punto2.getX();
double dy = punto1.getY() - punto2.getY();
dx *= dx;
dy *= dy;
double distancia = Math.sqrt(Math.abs(dx + dy));
System.out.println (distancia);
}
}