[AJUDA]Abas em JavaFX e Frame

2 respostas
Henrique_Fernandes

Boa noite pessoal. Dessa vez estou com dois problemas e gostaria da ajuda de vcs novamente.

A primeira situação é uma pergunta: Nao consigo fazer isso: javafx.ui.*;. Entao por exemplo, caso eu queira usar um Frame{} nao posso pois está dentro de javafx.ui.*; O elemento Frame foi somente disponibilizado na versao 1.0 do FX?

A segunda situação é se vcs sabem como utilizar abas no JavaFX. Tenho lá minha Stage que contem uma Scene até ai blz, mas como eu faria pra que essa minha Scene tivesse abas?. Ví que dá pra usar abas através do uso de Frames mas nem isso tô conseguindo fazer.

Essas são minhas duas dúvidas. Valeu aí pessoal!

[]'s Henrique.

2 Respostas

Henrique_Fernandes

:?: :?:

:frowning: :frowning:

Jesuino_Master

Olá Henrique, vamos as suas dúvidas!

O Frame é somente do preview do JavaFX, a versão interpretada, que não existe mais.

Hoje temos uma abstração que tenta ser genérica do que o simples Frame, que é o Stage e a Scene.

Hoje ainda não temos um tabbed pane para o JavaFX. Mas você pode fazer o seu, ou utilizar o JTabbedPane do Java Swing(não recomendado).

Eu usei um componente feio para ser como abas em um projeto meu:

/*
 * OnlyOnePanel.fx
 *
 * Created on 07/02/2010, 21:18:46
 */
package movieinfofx.view.components;

import javafx.scene.CustomNode;
import javafx.scene.Node;
import javafx.scene.layout.VBox;
import javafx.scene.layout.Panel;
import javafx.scene.control.ToggleGroup;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.layout.Flow;
import javafx.scene.control.ToggleButton;

/**
 * @author william
 */
public class OnlyOnePanel extends CustomNode {

    var buttons: ToggleButton[];
    var panels: Panel[];
    var grp: ToggleGroup = ToggleGroup { };
   var outPanel: Panel = Panel { content: bind panels };
    var buttonBox: Flow = Flow {
                hgap: 10; vgap: 10;
                vertical: false; width: bind outPanel.width;
                hpos: HPos.LEFT; vpos: VPos.CENTER;
                content: bind buttons;
            };  

    override protected function create(): Node {
        VBox {
            spacing: 10;
            content: [
                buttonBox,
                outPanel
            ]
        }
    }

    public function add(label: String, panel: Node) {
        var button: ToggleButton =
                ToggleButton {
                    style: "font-weight: bold; font-size: 20pt;";
                    width: 250;
                    height: 200;                
                    text: label
                    toggleGroup: grp
                }
        insert Panel { content: panel visible: bind button.selected } into panels;
        insert button into buttons; grp.selectedToggle = buttons[0];
    }  
}

Você deve ajustá-Lo.

[]'s

Criado 1 de junho de 2010
Ultima resposta 2 de jun. de 2010
Respostas 2
Participantes 2