Skip to content

JavaFX, Exemplos Básicos

Alguns exemplo básicos de JavaFX usando a construção de interfaces de forma declarativa.
Para testa-los eu recomendo o JavaFX Pad ou o plugin JavaFX para Netbeans.

import javafx.ui.*; 

Frame {
    title: "Label JavaFX"
    width:  300
    height: 50
    content: Label {
            text: "Olá Mundo!"
    }
    visible: true   
}

JavaFX label

import javafx.ui.*;
import java.lang.System;

Frame {
    title: "Botão JavaFX"
    width:  300
    height: 100
    content: Button {
           text: "Clique-me"
           action: operation(){
              System.out.println("Botão pressionado");
           }
    }
    visible: true   
}

Botão em JavaFX

import javafx.ui.*;
import java.lang.System;

Frame {
  title: "Menu JavaFX"
  width:  300
  height: 100
  menubar: MenuBar {
    menus: Menu {
      text: "Menu"
      items:  foreach (name in ["Menu1", "Menu2", "Menu3"])  
              MenuItem {
                text: name
                action: operation() {
                  System.out.println("MenuItem: {name}");
                }
             }
     }
  }
    visible: true
}

JavaFX Menu

import javafx.ui.*;
import java.lang.System;

var N = 4;

Frame {
    title: "Tabela JavaFX"
    width:  300
    height: 150
    onClose: operation(){ System.exit(0); }
    content: Table {
        columns: [
        TableColumn {
            text: "numero"
        },
        TableColumn {
            text: "quadrado"
        },
        TableColumn {
            text: "cubo"
        }]
        
        cells: bind foreach(n in [1..N])[
        TableCell {
            text: "{n}"
        },
        TableCell {
            text: bind "{n * n}"
        },
        TableCell {
            text: bind "{n * n * n}"
        },
        ]
    }
    visible: true
}

JavaFX Tabela

import javafx.ui.*;

var selectedTab = 0;

Frame{
    title: "Tab Example"
    width: 300
    height: 120
    content: BorderPanel{
        top: Label { text: bind "Selected tab: {selectedTab + 1}" }
        center: TabbedPane{
            selectedIndex: bind selectedTab
            tabs: foreach(i in [1..5])
            Tab {
                title: "Tab{i}"
                content: Label{ text: "Label{i} "}
            }            
        }
    }
    visible: true
}

JavaFX abas

import javafx.ui.*;

Frame {
    title: "FlowPanel JavaFX"
    width:  300
    height: 100
    content: FlowPanel{
        content: [
        Label{ text: "Label1" },
        Label{ text: "Label2" },
        Label{ text: "Label3" },
        ]
    }
    visible: true
}

JavaFX FlowPanel

import javafx.ui.*;

Frame {
    title: "BorderPanel JavaFX"
    width:  400
    height: 200
    content: BorderPanel{
        top   :  Button{ text: "Topo" }
        center:  Button{ text: "Centro" }
        bottom:  Button{ text: "Fundo" }
        left  :  Button{ text: "Esquerda" }
        right :  Button{ text: "Direita" }
    }
    visible: true
}

JavaFX BorderPanel

Esses exemplos eu retirei da página de exemplos do Wiki do JavaFX (russo). Se você quiser saber mais sobre componentes de interface gráfica em JavaFX veja o tutorial
Learning More About the JavaFX Script Language (for Swing Programmers).

Published inUncategorized

12 Comments

  1. Guilherme Guilherme

    pelo que vi parace que voce usou o ubuntu nos prints. Como que você conseguiu os plugins de javafx pra ele?

  2. Guilherme,
    usando o NetBeans (que eu acho a melhor opção no momento para desenvolver com JavaFX) basta baixar a extensão, dentro do próprio NetBeans, e sair usando. Inclusive é a versão do preview SDK.
    Se você quiser pegar o JavaFX a partir do preview SDK puro, que não foi o que eu fiz, você pode modificar a versão do Mac OSX para usa-lo no Linux. (http://www.weiqigao.com/blog/2008/08/05/watch_javafx_sdk_run_on_linux.html)
    É só uma questão de empacotamento, usando também as versões diretamente do repositório de desenvolvimento (para almas aventureiras) é só baixar do SVN, colocar no classpath e usar.

  3. David David

    Cara, no segundo exemplo tem
    action: operation(){
    System.out.println(“Botão pressionado”);
    }
    Mas só consegui rodar quando troquei o operation por function.

  4. Denislei Denislei

    Silveira!

    Estou precisando de uma ajuda, e acho que você pode me dar uma luz!
    Estou desenvolvendo um trabalho(TCC) para a conclusão do curso de processamento de dados. Gostaria que, se possivel vc me indicasse algumas documentações, livros, revistas, sites sobre JavaFx Script. e que contenha algo mais didático se possivel.

    Se você puder me ajudar estarei muito agradecido.

    Até mais muito obrigado!

  5. Denislei,

    Eu recomendo que você dê uma olhada nesses sites
    https://openjfx.dev.java.net/
    http://www.sun.com/software/javafx/index.jsp
    http://java.sun.com/javafx/reference/
    http://javafx.com/
    http://java.sun.com/developer/community/askxprt/sessions/2008/jl0818.jsp
    http://jfx.wikia.com/wiki/Main_Page
    http://www.javapassion.com/javafx/
    http://openjfx.java.sun.com/current-build/doc/

    Eu também recomendo os blogs:

    http://learnjavafx.typepad.com/
    http://blogs.sun.com/chrisoliver/
    http://weblogs.java.net/blog/joshy/
    (e o meu é claro. :P)

    Há um ou dois livros de JavaFX escritos, mas eu não recomendo nenhum nesse momento porque uma nova versão do JavaFX sai em novembro-2008 e eles se tornarão obsoletos. Revistas, houve uma reportagem na Java Magazine esse ano sobre JavaFX, eu acredito que ainda vai haver outra esse ano.

    Boa sorte, qualquer coisa dê uma passada aqui.

  6. Wagner Wagner

    Show de bola, soh tem um pro, eu tow com o NetBeans for FX e não tow conseguindo rodar = .
    Soh consigo rodar no FXPad

  7. clayton pereira clayton pereira

    ola silveira neto boa tarde , estou com um pequeno problema baixei o sdk javafx e tambem instalei o plugin do netbeans 6.1 mais quando vou compilar os exemplos que vc passou nao encontra o pacote javafx.ui.*; estou usando a versao javafx 1.0 aguardo resposta…

  8. Fábio Fábio

    Silveira,
    tem alguma dica de como fazer esse mesmo tutorial no JavaFX 1.2?
    Sem usar SwingComponent.wrap().

  9. Cristian Cristian

    Galera, sei que este assunto aconteceu a anos, agora , como eu usaria este exemplo hoje?? por exemplo tenho o netbeans 7.1.2 nao consigo fazer este codigo funcionar nele

Leave a Reply

Your email address will not be published. Required fields are marked *