Mostrando las entradas con la etiqueta Swing. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Swing. Mostrar todas las entradas

viernes, 25 de junio de 2021

Se acuerdan de javaFx??


Tal vez ustedes son muy jóvenes pero hace tiempo existió una tecnología llamada imagen de vector que inundó la web, de forma muy rápida fue adoptada por los principales proveedores de software como la manera de hacer interfaces y muy muy rápidamente fue olvidada y remplazada por HTML 5. 

De esta historia (de terror para muchas empresas) nace JavaFx que fue un framework que no solo aposto por una tecnología a punto de morir, sino que llego muy tarde al mercado. 

Pero no todo es tristeza en esta historia, la tecnología de imagen de vector es super interesante y se puede utilizar en el escritorio. 

Por ende no todo esta perdido y JavaFx puede ser una opción para algunos nichos. 

JavaFx fue donada a la comunidad por parte de oracle y ahora se encuentra en la web : https://openjfx.io/

Les cuento que tenia pensado hacer un post más largo y más lindo pero cuesta mucho o bastante que en internet es mucho, encontrar un ejemplo cerrado. Pero bueno, el que busca encuentra y acá hay un repositorio con muchos ejemplos : https://github.com/jjenkov/javafx-examples/

Veamos uno : 

import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.layout.VBox;

import javafx.stage.Stage;


/**

 * Shows a simple JavaFX Button - and prints a text when the button is clicked.

 */

public class ButtonExample extends Application {


    public static void main(String[] args) {

        launch(args);

    }


    @Override

    public void start(Stage primaryStage) {

        Button button = new Button();

        button.setText("Click me!");

        button.setOnAction((event) -> {

            System.out.println("Button clicked!");

        });

        VBox vbox = new VBox(button);

        Scene scene = new Scene(vbox);

        primaryStage.setScene(scene);

        primaryStage.show();

    }

}

Como se puede ver más allá de un conjunto de detalles es muy parecida a una aplicación swing o SWT. 


sábado, 21 de abril de 2018

Scala y swing se unen gracias scala-swing

Si queremos programar en Scala con ventanas podemos usar la plataforma Java. La plataforma Java nos ofrece diferentes opciones en las que tenemos a Swing.

Pero esto nos puede llevar mucho trabajo y tendríamos que llamar desde Scala funciones de java un lió, por ende Scala nos brinda una librería llamada scala-swing

scala-swing nos permite escribir código swing de forma Scala y a la vez nos facilita muchísimo este trabajo.

Veamos un ejemplo:

Programamos un archivo llamado: Ventana.scala

package com.assembly

import scala.swing._
import scala.swing.event._

object Ventana extends SimpleSwingApplication {

  def top = new MainFrame {
    title = "SwingApp"
    var numclicks = 0

    object label extends Label {
      val prefix = "Tocaste el boton : "
      text = prefix + "0  "
      listenTo(button)
      reactions += {

        case ButtonClicked(button) =>
          numclicks = numclicks + 1
          text = prefix + numclicks
      }

    }

    object button extends Button {
      text = "Soy El buton"
    }

    contents = new FlowPanel {
      contents.append(button, label)
      border = Swing.EmptyBorder(5, 5, 5, 5)
    }
  }

}

Para llamar esta clase podemos utilizar un Objeto, llamado Main :

package com.assembly

object Main {
 
  def main(args: Array[String]): Unit = {
    val ventana = Ventana
    ventana.startup(args)
  }
 
}

Y Listo!!

Dejo link: https://github.com/scala/scala-swing

viernes, 11 de enero de 2013

Griffon 1.2.0 released!


Griffon es un framework similar a Grails pero en vez de ser una interfaz web, es una interfaz de ventana. Es decir utiliza Swing Application Framework (JSR 296); ahora soporta SWT y JavaFx. Al igual que Grails utiliza Groovy como lenguaje.

La Noticia es que se viene una nuevo release con importantes novedades. El framework me parece una gran idea, es el primero que conozco de este tipo. Esperemos que siga creciendo.

Dejo link:
http://docs.codehaus.org/pages/viewpage.action?pageId=230396594
http://griffon.codehaus.org/