B4J
por Juan Antonio Villalpando
mi correo: juana1991@yahoo.com)
(IES Fco. Romero Vargas - Jerez de la Fra.)

 

- Tutorial de Basic4Android en español

Aquí puedes encontrar la instalación y configuración del programa B4J para realizar archivos jar de Java.

Ver foros.


-- Tutorial de iniciación de B4J --
- Programas de iniciación:

0.- Instalación.
1.- Teorema de Pitágoras.
2.- Adivina.
3.- Ruleta Rusa.
4.- Tres iguales.

5.- Pasar archivos .jar a .exe
6.- Enviar correo. Explorar archivos. Caja de Mensaje.
7.- Colores. Efectos. Hoja de estilo CSS.

- Bajar Visual Basic 2010 para Windows
____________________________________________________________________

Los controles

________________________________________________________________
__________________________________

¿Qué es B4J?

- Es una aplicación con la que podemos realizar archivos ejecutables .jar de JAVA.
- El B4J, está realizado para realizar archivos jar para Java forma parecida a como se programa en Visual Basic.

- El programa B4J es para Windows, pero el archivo .jar que obtiene es multiplataforma, es decir puede funcionar en Windows, Linux y Mac. (No vale para Android).
- El B4J es un programa gratis.

__________________________________
-- Instalación
(3 pasos = Java + JavaFX Scene Builder + B4J)

---------------------------------------------------------------------------------------------------

1.- Instala Java.

- Puedes bajarte Java gratuitamente de...Java 7 JDK
- Marca la opción:   Accept License Agreement
- Instala la versión Windows x86 o Windows x64 (si tu Windows es de 64 bits)

Actualmente la versión: jdk-7u21-windows-i586.exe

2.- Instala el JavaFX Scene Builder.

Baja e instala el JavaFX Scene Builder de:
http://www.oracle.com/technetwork/java/javase/downloads/index.html (Busca JavaFX Scene Builder)

Esto lo utilizamos para dibujar los controles, botones, label, casilleros...

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

3.- Instalación del IDE B4J

Ahora vamos a instalar el IDE B4J, este IDE está realizado para poder hacer archivos ejecutables jar de una forma parecida a como se programa en Visual Basic.

Es un programa es gratuito.

Puedes bajarlo de... www.basic4ppc.com/b4j/files/B4J.exe

- Una vez instalado el B4J, debemos indicarle dónde está el JAVA para ello vamos a:
Tools / Configure Paths

Indicamos dónde está el JAVA (javac.exe).
Normalmente en C:\Archivos de programa\Java\jdk1.7.0_17\bin\javac.exe

Ya está casi, casi...

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

________________________________________________________________
__________________________________

-- Programas

1.- Nuestro primer programa: Teorema de Pitágoras.

El primer programita que hago siempre para aprender esto, es el teorema de Pitágoras, tal vez sea por aquello de los catetos.

- Introducimos un cateto.
- Introducimos otro cateto.
- Calculamos la hipotenusa = raiz cuadrada (un cateto al cuadrado + otro cateto al cuadrado)

- Lo primero crear la carpeta Pitagoras que será donde guardemos el programa.

IMPORTANTE: Cada programa se guarda en una carpeta distinta. Es conveniente crear la carpeta del programa antes de comenzar a poner los códigos.

En nuestra carpeta C:\Android, creamos una subcarpeta llamada Pitagoras.

Entramos en el B4J.

Se puede crear aplicaciones de consola y gráficas UI (JavaFx). Nuestra aplicación será gráficas, así que marcamos UI (JavaFX)

Vamos a File / Save y guardamos el programa (incluso antes de comenzar) en C:\Android\Pitagoras con el nombre pitagoras.b4j

Vamos a situar los controles mediante el Designer
(JavaFx Scene Builder)

Vamos a poner los casilleros, etiquetas y el botón, para ello vamos Designer / Create New Layout

y ponemos un nombre, en nuestro caso "layout"
Debemos respetar minúsculas y mayúsculas.
En el código observamos esta línea:
MainForm.RootPane.LoadLayout("layout")
también debe estar con minúsculas como lo hemos puesto anteriormente.

Deberá aparecer el JavaFX Scene Builder. Añadimos:

- una Label (En el Text escribe: Introduce un cateto)

IMPORTANTE:

- Los Controls, deben tener un nombre para después utilizarlos en el código. Ese nombre se lo pondremos en el recuadro:
JavaFX CSS Id

En nuestro caso pondremos: Label1, Label2, Label3, Label4, TextField1, TextField2 y Button1.

Además en el código debemos de declarar mediante Dim los controles que vamos a utilizar dentro de subrutinas, en nuestro caso:

Label4, TextField1, TextField2 y Button1.

Respeta las mayúsculas y minúsculas, si pones button1 en vez de Button1, el programa no funcionará correctamente.

Seguimos añadiendo:

- Label (En el Text escribe: Introduce el otro cateto).
- Label (En el Text escribe: Hipotenusa).
- Label4 (JavaFX CSS Id = Label4)

- TextField1 (JavaFX CSS Id = TextField1)
- TextField2 (JavaFX CSS Id = TextField2)

- Button (En el Text escribe: Pulsa). (JavaFX CSS Id = Button1)

Ahora lo guardamos, para ello vamos a File / Save

- El Layout se guarda en la carpeta C:\Android\Pitagoras\Files\layout.fxml
- En un programa puede haber más de un layout.fxml

Si pulsamos el icono de la flecha azul (ejecutar) obtendremos la siguiente pantalla gráfica.
Observa que está en modo Debug.

- Borrar un elemento.

- En caso que queramos borrar un elemento, lo marcamos, pulsamos con el botón derecho del ratón Delete.

- También podemos poner un elemento encima o detrás de otro mediante Bring To Front.

- Crear el código

Ahora vamos hacer que cuando pulsemos el Button, se realice la operación, para ello vamos a hacer que aparezca en nuestro código la Subrutina:

Sub Button1_Action

End Sub

Para ello vamos al Designer / layout.fxml / Generate Members

y marcamos Action en el Button1
Luego pulsa en Generate Members

Si consultas el código observarás que se ha creado las líneas.

Sub Button1_Action

End Sub

- Vamos al código: (copia y pega)

Código de pitagoras
Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com
    
    ' 20 de noviembre de 2013
    Private fx As JFX
    Private MainForm As Form
    Dim x, y, z As Double ' Establecemos las variables
    Dim Button1 As Button ' No es necesario declararlo
    Dim TextField1, TextField2 As TextField ' Tenemos que declarar los TextField utilizados
    Dim Label4 As Label ' Tenemos que declarar el Label utilizado.
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.RootPane.LoadLayout("layout")
    MainForm.Show
    MainForm.Title = "Teorema de Pitágoras."
    MainForm.BackColor=fx.Colors.White
    ' MainForm.Icon = fx.LoadImage(File.DirAssets, "dibujo_icono.png")
    MainForm.Resizable=False
End Sub

Sub Button1_Action
    x = TextField1.Text
    y = TextField2.Text
    z = x + y
    z = Sqrt(Power(x,2) + Power(y,2))
    Label4.Text = z
End Sub

- Ejecución del programa

Para compilarlo y que funcione, pulsamos sobre el icono de la flecha azul.

- Cómo lo he realizado:

- Declaramos las variables y los controles utilizados.
- Tomamos el valor puesto en TextField1 y lo asignamos a x
- Tomamos el valor puesto en TextField2 y lo asignamos a y
- Hacemos los cuadrados y la raiz.
- Presentamos el valor de z en el Label4

Nota: El B4J no permite hacer el cuadrado de esta manera x ^ 2, en todo caso admite Power(x, 2)
Diferencias entre VB y BASIC4Android

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

- Ejecuta el archivo .jar

Bien, me funciona, ¿cómo puedo ejecutar el archivo creado?

Si has compilado el programa mediante Release...
(en modo Debug no se crea el pitagoras.jar)

... ve a C:\B4J\pitagoras\Objects y observa el archivo pitagoras.jar

Si pulsas sobre ese archivo (y los archivos de extensión .jar lo tienes vinculado a Java (como ocurre normalmente)), se ejecutará tu aplicación.

Los archivos .jar son Executables jar Files, Java(TM) Platform SE binary, se abre con javaw.exe que se encuentra en la carpeta Java.

Descompilar un archivo .jar

Si consultas el pitagoras.jar con el Bloc de notas, verás que es ilegible. Hay programas que pueden descompilarlo por ejemplo el
JavaDecompiler JD GUI


Otra manera de ver el contenido de un archivo .jar

Los archivos .jar son archivos que están comprimidos.
Tomemos el archivo pitagoras.jar y le cambiamos la extensión a zip, es decir lo renombramos como
pitagoras.zip

Ahora vamos a cualquier programa compresor/descompresor como el Winzip, el Winrar... y abrimos con él el pitagoras.zip, observaremos que un contiene archivos y carpetas. Así que hemos observamos que los archivos .jar son archivos comprimidos.

 

IMPORTANTE:

Podemos compilar el código en modo Debug y en modo Release.

- En modo Release obtenemos el archivo pitagoras.jar.
- El modo Debug es para hacer pruebas de depuración y creación del programas.

Varias cosas que debes recordar siempre:

- Cada proyecto debe estar en una carpeta distinta.
- Acabado de entrar en el proyecto, pulsa la flecha azul de ejecutar/compilar para que se creen las carpetas necesarias, especialmente una llamada Files que es donde en otros proyectos guardarás imágenes, textos,...


Nota sabia:

- Anteriormente he indicado que debemos declarar los controles antes de utilizarlos.

Dim EditText1, EditText2 As EditText ' Tenemos que declarar los EditText utilizados
Dim Label1, Label2, Label3, Label4 As Label ' Tenemos que declarar los Label utilizados

En realidad solo tenemos que declarar los controles que se utilizan dentro de una Subrutina. En este programa solo sería necesario declarar.

Dim EditText1, EditText2 As EditText
Dim Label4 As Label

Ya que solamente el Label4 está dentro de una Subrutina, los demás Label no están.

 


Notas:

- ¿Para qué sirven estos archivos .jar?

Estos archivos pueden contener un programa gráfico (UI) como el que acabamos de ver que puede funcionar en multiplataformas, es decir en Windows, Linux y Mac (en Android no).

Además mediante estos archivos .jar se pueden hacer librerías como las utilizadas en Basic4Android, recuerda que las librerías suelen estar compuesta de dos archivos uno .jar y otro .xml (aunque debes ser un buen programador para hacer buenas librerías). En estos casos se crean los códigos para funcionar en modo consola.


Otra posibilidad que tienen estos archivo .jar es poderse convertir a ejecutables de Windows con extensión .exe. Para pasar un archivo .jar o al menos intentarlo, podemos utilizar el http://launch4j.sourceforge.net/

Si lo que queremos es hacer aplicaciones de Escritorio (Desktop), como el que hemos visto, es más recomendable utilizar el gratuito Visual Basic 2010 o el también gratuito AutoIt.

- Documentación de JavaFX

- Ejemplos de JavaFX

Características de los controles

http://www.basic4ppc.com/b4j/help/jfx.html

 

_______________________________________________________________
__________________________________


2.- Nuestro segundo programa: Adivina

Ahora se trata de hacer un programa llamado Adivina donde pulsamos un botón, en ese momento el móvil crea un número aleatorio comprendido entre el 1 y el 100 que debemos adivinar.

Luego introducimos un número en el casillero y pulsamos el botón ¿Es este?

El programa nos responderá si el número creado es igual, mayor o menor que el que hemos introducido.

Notas: Antes de comenzar el proyecto creamos una carpeta llamada adivina y dentro de ella un archivo llamado adivina.b4j
Cada vez que hagas un cambio en el código guárdalo (File / Save)
Si te equivocas y quieres deshacer el cambio pulsa la combinación de teclas Ctrl   Z

Vamos a situar los controles mediante el Designer
(JavaFx Scene Builder)

- Vamos a Designer para poner los controles.

- Escribimos el nombre del Layout como "layout", con minúsculas.


- Añadimos 2 Botones, 2 Label y un TextField.
- En el Text del botón1 escribimos: Pulsa para una nueva partida
- En el Text del botón 2 escribimos: ¿Es este?
- En el Text del Label1 escribimos: Introduce un número
- En el Text del Label2 escribimos:-

- Situamos los botones como indica la figura.

- Recuerda que debemos poner el nombre de los controles en:
JavaFX CSS Id

serán: Label1, Label2, TextField1, Button1, Button2

- Guardamos el Designer (File / Save).

- Vamos hacer que en el código aparezca:

Sub Button1_Action

End Sub

Para ello en el Designer pulsamos en layout.fxml y Generate Members
marcamos los Action de los botones
pulsamos en Generate members

en el código aparecerá...

Sub Button1_Action

End Sub

Sub Button2_Action

End Sub

 

Vamos al código: (copia y pega)

Código de adivina
#Region  Project Attributes 
    #MainFormWidth: 315
    #MainFormHeight: 400 
#End Region

Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com
    
    ' 20 de noviembre de 2013
    Private fx As JFX
    Private MainForm As Form
    ' Declaramos las variables ordenador y mio e indicamos de qué tipo son nuestros controles TextField y Label 
    Dim ordenador, mio, intentos As Int
    Dim Label2 As Label
    Dim TextField1 As TextField
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.RootPane.LoadLayout("layout") ' En minúsculas.
    MainForm.Show
    MainForm.Title = "Adivina."
    MainForm.BackColor=fx.Colors.White
    ' MainForm.Icon = fx.LoadImage(File.DirAssets, "icono.png")
    MainForm.Resizable=False
End Sub

Sub Button1_Action
' Cuando pulsamos el Botón1, se crea un número aleatorio entre 1 y 100 en la variable ordenador 
    ordenador = Rnd(1,100)
    TextField1.Text=""
End Sub

Sub Button2_Action
' Cuando pulsamos el Botón2, asigna a la variable mio el valor del TextField1
' Se compara el valor de ordenador con el mio 
    mio = TextField1.Text
    If ordenador > mio Then Label2.Text = "Mi número es mayor"
    If ordenador < mio Then Label2.Text = "Mi número es menor"
    If ordenador = mio Then Label2.Text = "HAS ACERTADO"
End Sub

Comentarios

Dim Label2 As Label

El Label1 ("Introduce un texto"), no es necesario declararlo, ya que no se encuentra dentro de ninguna Subrutina.

El Label2 sí hay que declararlo, porque está dentro de una Subrutina.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Podemos ajustar el tamaño de la pantalla pulsando sobre ella y moviendo sus aristas.
En Layout: AnchorPane podemos ver sus dimensione y podemos ponerlas en el código en...
#Region Project Attributes
#MainFormWidth: 315
#MainFormHeight: 400
#End Region

Varias cosas que debes recordar siempre:

- Cada proyecto debe estar en una carpeta distinta.
- Solo es imprescindible poner en e JavaFX CSS Id, aquellos controles que vayan a ser utilizado en Subrutinas, en caso que no estén en Subrutina no es necesario ponerle nombre.
- Igualmente solo es necesario declarar mediante Dim aquellos controles que vayan a ser utilizado en Subrutinas.

- Estamos utilizando como nombre de controles Label1, Label2, TextField1, Button1, Button2 pero podemos poner nombres más parecido a la función que realizan como: boton_inicio, boton_prueba, entrada_numero. No debemos utilizar acentos ni espacios en esos nombres.

_______________________________________________________________
__________________________________

3.- Nuestro tercer programa: Ruleta Rusa

En este caso tenemos un revólver para 6 balas.

Primero Rearmamos el revólver poniendo una sola bala y girando el tambor. La bala se ubicará aleatoriamente en uno de los 6 sitios.

Luego vamos pulsando de manera desordenada los distintos botones .

Si el número de lugar de la bala coincide con el número del Botón pulsado, la pantalla se tiñe de rojo

En caso contrario se deshabilita (Button.Enabled = False ) el botón pulsado

Notas: Antes de comenzar el proyecto creamos una carpeta llamada ruleta_rusa y dentro de ella un archivo llamado ruleta_rusa.b4j
Cada vez que hagas un cambio en el código guárdalo (File / Save)
Si te equivocas y quieres deshacer el cambio pulsa la combinación de teclas Ctrl   Z

Vamos a situar los botones mediante el Designer
(JavaFx Scene Builder)

- Vamos a Designer para poner los botones.

- Creamos un Layout llamado "layout", en minúsculas.

- Añadimos 7 botones y un Label.
- En el Text de los botones ponemos un número del 1 al 6.
- Los Botones los ponemos con Font de 30px
- El Text del botón 7 escribimos: Rearme.
- En JavaFX CSS Id ponemos los nombres de los controles:
Button1, Buttonl2, Button3, Button4, Button5, Button6, Button7, Label1.

- Situamos los botones como indica la figura.
- Guardamos el Designer (File / Save).

- Vamos hacer que en el código aparezca:

Sub Button1_Action

End Sub

Para ello en el Designer pulsamos en layout.fxml y Generate Members
marcamos todos los Click de los botones
pulsamos en Generate members

en el código aparecerá...

Sub Button1_Action

End Sub

 

Vamos al código: (copia y pega)

Código de ruleta rusa
#Region  Project Attributes 
    #MainFormWidth: 445
    #MainFormHeight: 400 
#End Region

Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com
    ' 20 de noviembre de 2013
    Private fx As JFX
    Private MainForm As Form
    Dim x As Int
    Dim Button1, Button2, Button3, Button4, Button5, Button6 As Button
    Dim Label1 As Label
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.RootPane.LoadLayout("layout")
    MainForm.Show
    MainForm.Title = "Ruleta Rusa."
    MainForm.BackColor=fx.Colors.White
    ' MainForm.Icon = fx.LoadImage(File.DirAssets, "dibujo_icono.png")
    MainForm.Resizable=False
    Label1.Style="-fx-background-color: #0000ff"
    x = Rnd(1,6)    
End Sub

Sub Button1_Action
    If x = 1 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button1.Enabled=False
    End If
End Sub

Sub Button2_Action
    If x = 2 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button2.Enabled=False
    End If    
End Sub

Sub Button3_Action
    If x = 3 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button3.Enabled=False
    End If    
End Sub

Sub Button4_Action
    If x = 4 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button4.Enabled=False
    End If    
End Sub
Sub Button5_Action
    If x = 5 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button5.Enabled=False
    End If    
End Sub
Sub Button6_Action
    If x = 6 Then
    Label1.Style="-fx-background-color: #ff0000"
    Else
    Button6.Enabled=False
    End If    
End Sub

' Rearme. El Label1 vuelve a ser Azul y todo los Botones se habilitan.
' Se crea un número aleatorio del 1 al 6 

Sub Button7_Action
    Label1.Style="-fx-background-color: #0000ff"
    Button1.Enabled=True
    Button2.Enabled=True
    Button3.Enabled=True
    Button4.Enabled=True
    Button5.Enabled=True
    Button6.Enabled=True
    x = Rnd(1,6)    
End Sub
    

Comentarios

Podemos cambiar los colores, tipo de letra, tamaño, fondo de los controles de esta manera:

Label1.Style="-fx-background-color: #0000ff"
Button1.Style="-fx-font: 40px Serif"
Button1.Style="-fx-effect: dropshadow(one-pass-box, black, 8, 0.0, 2, 0)"

-fx-background-color: #DFB951
-fx-background-radius: 20
-fx-background: rgb(225, 228, 203)
-fx-border-radius: 20
-fx-font: 16px Serif
-fx-font: bold italic 20pt Arial
-fx-padding: 10
-fx-effect: dropshadow(one-pass-box , red ,8 ,0.0 , 2 , 0)
-fx-text-fill: white
-fx-text-fill: #006464
- fx - background - image : url (Add.png)

Si quisieramos poner esos códigos en el JavaFX Scene Builder, lo debemos poner en Style, como indica el gráfico de abajo.

Rotate

Estamos en el JavaFX Scene Builder. Pulsa sobre un botón. En el panel de la derecha ve a Layout Button. Pulsa en Rotate.

_______________________________________________________________
__________________________________

4.- Nuestro cuarto programa: Tres iguales

Se trata de pulsar el botón Comienzo, en ese momentos tres imagenes fresa.gif, limon.gif y pera.gif, se van reproduciendo aleatoriamente en los cuadros (ImageView1, ImageView2 y ImageView3). Cuando pulsamos el botòn Parar, las imagenes quedan estáticas, se incrementa en uno el número de intentos y se comprueba si las tres imagenes son iguales, en este caso se incrementa en uno el número de aciertos.

Creamos una carpeta llamada Tres_iguales, dentro de ella el archivo tresiguales.b4j.

Baja y descomprime el archivo de los dibujos de las frutas y guarda esos dibujos en la carpeta Tres_iguales / Files

NOTA IMPORTANTE: En vez de guardar los archivos de imágenes mediante copiar y pegar en la carpeta Files, es más conveniete Añadirlos (Add Files) mediante el mismo B4J, pulsando el bótón abajo-derecha:

Files / Add Files

Áñade siempre los archivos que debas guardar en Files de esta manera.!!!!
(Incluso primero los puedes copiar y pegar en la carpeta Files y luego añadirlo mediante estos botones.)

Vamos a situar los botones mediante el Designer
(JavaFx Scene Builder)

- Vamos a Designer para poner los botones.

- Creamos un Layout llamado "layout", en minúsculas.

- Añadimos 3 ImageView en la parte de arriba de la ventana.
Cada vez que ponemos un ImageView "desaparecen" los anteriores, para que aparezcan pulsamos sobre cada ImageView en la parte de Hierarchy.

- Añadimos 3 botones como indica la imagen.
- En el Text de un botón ponemos "Continua", en otro "Para" y en el otro "Comienzo"
- Los Botones los ponemos con Font de 30px


- Añadimos 5 Label.
- En el uno ponemos "¡¡¡PREMIO!!!" en otro "Intentos", en otro "Aciertos" y en los otros dos Label2 y Label3.
- Los Label los ponemos con Font de 30px

IMPORTANTE:
- Vamos a la parte JavaFX CSS Id de cada control y ponemos los nombres de los controles:
ImageView1, ImageView2 ImageView3, Button1, Button2, Button3, Label1, Label2, Label3
(Solo es imprescindible dar nombre a aquellos controles que se encuentran dentro de Subrutinas o que crean una Subrutina en el código.)



- Pulsamos en AddView y añadimos 3 botones y 5 Label.
- En el Text del Botón1 he puesto Continua
- En el Text del Botón2 he puesto Parar
- En el Text del Botón3 he puesto Comienzo

- En el Text del Label1 escribe ¡¡¡PREMIO!!! y lo pones de color rojo


- Guardamos el Designer (File / Save).

Vamos al código: (copia y pega)

Código de tres iguales
#Region  Project Attributes 
    #MainFormWidth: 600
    #MainFormHeight: 611
#End Region

Sub Process_Globals
    ' Juan Antonio Villalpando
    ' juana1991@yahoo.com
    ' 20 de noviembre 2013
    Private fx As JFX
    Private MainForm As Form
    ' Crea el temporizador 
    Dim Timer1 As Timer

    ' Declara los ImageView y los Label 
    Dim ImageView1, ImageView2, ImageView3 As ImageView
    Dim Label1, Label2, Label3 As Label
    ' Declara las variables x, y, z, intentos y aciertos. 
    Dim x, y, z As Int
    Dim intentos, aciertos As Int 
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.RootPane.LoadLayout("layout")
    MainForm.Show
    MainForm.Title = "Tres iguales."
    MainForm.BackColor=fx.Colors.White
    ' MainForm.Icon = fx.LoadImage(File.DirAssets, "dibujo_icono.png")
    MainForm.Resizable=False

    ' Establece el tiempo del temporizador en 100 milisegundos
    ' Para el temporizador
    ' Pone invisible el Label1 de Premio
    Timer1.Initialize("Timer1", 100) ' 1000 = 1 segundo
    Timer1.Enabled = False
    Label1.Visible= False
End Sub

Sub Button1_Action
' Cuando pulses este botón
' El Timer empieza a contar
' Pone invisible el Label1 de Premio
' Incrementa el número de intentos
' Pone el número de intentos en el Label2 
    Timer1.Enabled = True
    Label1.Visible= False
    intentos = intentos + 1
    Label2.Text = intentos
End Sub

Sub Button2_Action
' Cuando pulses este botón
' El Timer se para
' Si la x = y = z los tres iguales: pone el PREMIO, incrementa los aciertos, pone los aciertos
    Timer1.Enabled = False    
    If x = y AND x = z Then
    Label2.Visible= True
    aciertos = aciertos + 1
    Label3.Text = aciertos
End If
End Sub

Sub Button3_Action
' Cuando pulses este botón
' Pone los intentos y los aciertos a cero
    intentos = 0
    Label2.Text = intentos
    aciertos = 0
    Label3.Text = aciertos
    Timer1.Enabled = True
    Label1.Visible= False
End Sub

Sub Timer1_Tick
' Cada vez que pasan 100 milisegundos
' Se crean tres números aleatorios del 1 al 3 (aunque aquí para que funcione he puesto el 4)
' Según salga el 1, el 2 o el 3, se carga en el ImageView1, ImageView2 y ImageView3 un dibujo
   x = Rnd(1,4)
   y = Rnd(1,4)
   z = Rnd(1,4)
If x = 1 Then ImageView1.SetImage(fx.LoadImage(File.DirAssets, "fresa.gif"))
If x = 2 Then ImageView1.SetImage(fx.LoadImage(File.DirAssets, "limon.gif"))
If x = 3 Then ImageView1.SetImage(fx.LoadImage(File.DirAssets, "pera.gif"))

If y = 1 Then ImageView2.SetImage(fx.LoadImage(File.DirAssets, "fresa.gif"))
If y = 2 Then ImageView2.SetImage(fx.LoadImage(File.DirAssets, "limon.gif"))
If y = 3 Then ImageView2.SetImage(fx.LoadImage(File.DirAssets, "pera.gif"))

If z = 1 Then ImageView3.SetImage(fx.LoadImage(File.DirAssets, "fresa.gif"))
If z = 2 Then ImageView3.SetImage(fx.LoadImage(File.DirAssets, "limon.gif"))
If z = 3 Then ImageView3.SetImage(fx.LoadImage(File.DirAssets, "pera.gif"))
End Sub

___________________________________

Personalizar un botón

En este ejemplo visto en los tutoriales podemos observar cómo se ha personalizado un Botón.

Lo editamos con el JavaFX Scene Builder, vamos a Style y escribimos esto...

-fx-background-color: #a6b5c9, linear-gradient(#303842 0%, #3e5577 20%, #375074 100%),
linear-gradient(#768aa5 0%, #849cbb 5%, #5877a2 50%, #486a9a 51%, #4a6c9b 100%);

-fx-background-insets: 0 0 -1 0,0,1;
-fx-background-radius: 5,5,4;
-fx-padding: 7 30 7 30;
-fx-text-fill: #242d35;
-fx-font-family: "Helvetica";
-fx-font-size: 16px;
-fx-text-fill: white;
-fx-font-weight: bold;

El botón aparecerá con los vértices redondeados, con degradado azul y tipo de letra Helvetica, de color blanco, en negrita.
Observa que cada renglón de -fx-aaaaaaaaaaa; termina en punto y coma;

__________________________________

 

________________________________________________________________
Visual Basic 2010 Express

¡¡¡¡Outchhhh!!!! ¡¡¡¡Ummmm!!!!

¡¡Me ha gustado esto de programar en Visual Basic!!
¿De dónde podría bajar el Visual Basic "normal" para hacer programas para mi ordenador?

Entra en la web de Microsoft.

http://www.microsoft.com/visualstudio/esn/downloads

Bájate el Visual Basic 2010 Express
(La versión 2010 está bien, no hace falta una mayor)

Tienes 30 días de pruebas, pero antes de que se cumplan envíale un correo a Microsoft para Registrarte y te envíarán gratuitamente a tu correo un número de Registro para que puedas utilizar el Visual Basic sin problemas posteriormente.

Con Visual Basic 2010 puedes hacer programas parecidos a los que estamos haciendo en Basic4Android, pero para que funcionen en el sistema operativo Windows de tu ordenador.

Este sería el programa tresiguales, visto anteriormente en Visual Basic 2010.

Aquí está el tresiguales.exe

__________________________________

 

__________________________________
Si quieres que este tutorial se mantenga y lo actualice con más programas, escríbeme un correo a: juana1991@yahoo.com
__________________________________

http://laughton.com/basic/help/De_Re_BASIC%21.htm#_Toc349156386

__________________________________

Equipo Microsoft




Linus Benedict Torvalds

Equipo LINUX - Ubuntu - GNU

Mark Shuttleworth


Richard Matthew Stallman