sábado, 26 de septiembre de 2009

If anidados y JAVAFX

En este ejemplo se requiere lo siguiente:

Leer dos números si son iguales deben de multiplicarse, si el primero es mayor que el segundo debe de restar el segundo al primero y si no se cumple ninguna de las dos condiciones anteriores deben de sumarse.


Nota: Este ejemplo ha sido desarrollado usando NetBeans 6.7.1 y JavaFX Script.
Primero comenzamos con definir las librerías que vamos a necesitar.


import javafx.scene.Scene;
import javafx.ext.swing.*;
import javax.swing.JOptionPane;
import javafx.stage.AppletStageExtension;
import javafx.stage.Stage;
import javafx.scene.input.MouseEvent;


En segunda instancia definiremos las variables que utilizaremos en nuestro programa, yo las nombre x1 para el número 1 y y1 para el número 2, resultados es la variable que mostrará los resultados.


var x1;
var y1;
var resultados;


Ahora comenzamos a crear nuestros diálogos de Textos para que el usuario pueda escribir los números.


El primero lo llame texto1 y esta definido de la siguiente manera:


var texto1 = SwingTextField
{
columns: 10 //Establece el máximo de texto
editable: true; // Si es editable
translateX: 120; // Coordenada X donde estará ubicado
translateY: 10; // Coordenada Y donde estará ubicado.
}


Como segunda instancia tengo definido texto2 para que el usuario escriba el segundo número.


var texto2 = SwingTextField
{
columns: 10 //Establece el máximo de texto
editable: true; // Si es editable
translateX: 120; // Coordenada x
translateY: 30; // Coordenada Y
}


Por último cree otro campo de texto pero de solo lectura al cual llame resultado donde se ha de mostrar el resultado según lo que procesada del problema.


var resultado = SwingTextField
{
columns: 10; // Establece el máximo de texto
editable: false; // No es editable
translateX: 120; // Coordenada x
translateY: 60; // coordenada Y
}


Finalmente creare un botón el cual ha de contener una función para realizar la comparación que se me esta pidiendo en el problema.


var comparar = SwingButton
{
text: "Comparar"; // Nombre que mostrará el botón (Etiqueta=
translateX: 0; // Coordenada X
translateY: 100; // Coordenada Y
action: function () // El Botón tiene una función.
{
try // Atrapar excepciones producidas por errores
{
x1 = Integer.parseInt(texto1.getJTextField().getText()); // x1 toma el valor de texto1
y1 = Integer.parseInt(texto2.getJTextField().getText()); // y1 toma el valor de texto2
if ( x1 == y1) // Compara si ambas son iguales entonces
{
resultados = x1 * y1; // Multiplica
}
else // si no son iguales entonces
{
if (x1 > y1) // Si x1 es mayor que y1
{
resultados = x1 - y1; // hace una resta
}
else // si no es ninguna de las anteriores
{
resultados = y1 + x1; // suma valores
} // fin si
}// fin si
resultado.getJTextField().setText("{resultados}"); // resultado toma el valor de resultados
}
catch (e) //atrapar excepcion
{
JOptionPane.showMessageDialog(null,"Solo se aceptan valores tipo entero número.", "Error", JOptionPane.ERROR_MESSAGE); //mostrar este mensaje si se ha producido una excepción.
}
}// fin del método del botón.
}// fin de la variable botón

Ahora creare un stage que será mi aplicación en si.
Stage {
title : "Comparación de Números" // Defino el título que tendrá la ventana
width: 250 // Ancho de la ventana
height: 200 // Alto de la ventana
/*Esto de aquí es opcional y sirve para que nuestro Applet pueda ser "sacado"
del navegador */
extensions: AppletStageExtension {
shouldDragStart: function(e: MouseEvent): Boolean {
e.primaryButtonDown;
}
}
//Creamos nuestra escena
scene: Scene {
//Contenido de la escena
content: [
//Inicialización de variables.
texto1,
texto2,
resultado,
comparar,
//Una etiqueta que pide al usuario introducir un número X
SwingLabel {
text: "Escribe un número X:";
translateX: 0;
translateY: 10;
}
//Una etiqueta que pide al usuario introducir un número Y
SwingLabel {
text: "Escribe un número Y: "
translateX: 0;
translateY: 30;
}
//Una etiqueta que muestra el resultado al usuario
SwingLabel
{
text: "Resultado";
translateX: 0;
translateY: 60;
}
] //Fin del contenido de la escena
} //Fin de la escena
} // Fin del Stage.


Realizar aplicaciones JavaFX representa una gran ventaja ya que los Applets desarrollados con esta tecnología ofrecen un grado más de interactividad con el usuario que los Applets comunes.


Este ejemplo fue tomado del curso de Fundamentos de Programación en el cual se maneja el lenguaje C++ para enseñanza de los Alumnos en la Universidad Mesoamericana de San Agustín. Sin embargo esto demuestra que teniendo un algoritmo ya fabricado y entendiendo los diversos paradigmas de programación la adaptación de las aplicaciones puede ser "rápida".

Baila Princesa

 

 

Baila muy lentamente mi amor,
siente como mis labios te besan,
entre las sombras de esta noche estoy,
buscando a la que fue mi princesa.

Muy lejos de ti ahora estoy,
soñando despierto que te vuelvo a ver,
entre tus brazos quiero estar,
sentir tus cálidos besos mi amor.

Baila princesa, baila mi amor,
que entre sueños caricias te doy.

Se que lejos de mi ahora estas,
pero nuestro amor es más fuerte,
di que me amas como yo a  ti amor,
solo en mi mente estas tú.

Baila princesa, baila mi amor,
que en mis sueños te veo yo,
di que me amas…

Baila princesa, baila mi amor,
que esta noche es eterna para los dos,
solo en la muerte podrá separarnos,
ni el tiempo, ni la distancia nuestro amor han borrado.

Baila princesa, baila mi amor,
que la luna brilla para los dos,
reflejando nuestro más puro amor,
y las estrellas cuidan nuestra pasión.

Solo en mi sueños princesas estas,
se que eres real y lejos de mi estas,
ni el tiempo ni la distancia nuestro amor han borrado
y al final el verdadero amor triunfará.

Ven princesa, de mis sueños escapa,
que mi corazón a gritos te llama,
y junto a ti quiere estar,
toda su vida.

Baila princesa, baila mi amor,
que la luna brilla para los dos,
reflejando nuestro más puro amor,
y las estrellas cuidan nuestra pasión.

martes, 8 de septiembre de 2009

Programando en Java de Nuevo

El día de hoy me entro la nostalgia por volver a programar (bueno aclaro que sigo estudiando solo que ahora C++), bien pues me propuse hacer un pequeño traductor usando el api de Google (Translate) y diseñar un Gadgets huy que ahora esta muy de modas logre hacerlo aunque algo rustico solo quería que funcionara ya con más tiempo espero darle o hacerlo más formal, jeje la verdad me gusto el desarrollo de Gadgets tanto para Google como para Hi5

image

Y si que funciona, después de probarlo en google jejeje al escribir la frase Quisiera ser tu sueño me sale la traducción: Je serais votre rêve

image

Ya veré que le puedo agregar y mejorar a este gadget que esta en pañales.