Quando seus programas em javaFX
estiverem mais avançados você precisará
abrir novas janelas, e isto é fundamental.
Uma única janela pode não ser suficiente
para passar todas informações
necessárias ao usuário.
Neste exemplo eu apresento uma solução:
Criei três cenários, e cada cenário
está dentro de um método e representa
uma janela, e cada janela possui uma
barra de menu, e nos menus temos os itens
de menu, que são utilizados para chamar
estes métodos, agora podemos passear
por estas janelas aleatoriamente.
Nada impede estudantes avançados de java
com conhecimento em javaFX de expandir
este código que é uma oferta gratuita
de meu blog de java.
Veja abaixo imagens do programa em execução:
Veja abaixo um vídeo com o programa funcionando:
Veja abaixo o código do programa:
estiverem mais avançados você precisará
abrir novas janelas, e isto é fundamental.
Uma única janela pode não ser suficiente
para passar todas informações
necessárias ao usuário.
Neste exemplo eu apresento uma solução:
Criei três cenários, e cada cenário
está dentro de um método e representa
uma janela, e cada janela possui uma
barra de menu, e nos menus temos os itens
de menu, que são utilizados para chamar
estes métodos, agora podemos passear
por estas janelas aleatoriamente.
Nada impede estudantes avançados de java
com conhecimento em javaFX de expandir
este código que é uma oferta gratuita
de meu blog de java.
Veja abaixo imagens do programa em execução:
import javafx.application.Application;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class PROJETO extends Application {
public static Stage JANELA;
public static Scene CENA_1, CENA_2, CENA_3;
Text t_1 = new Text ( );
Text t_2 = new Text ( );
Text t_3 = new Text ( );
//
/////////////////////////////////////////////////////////////////////////
public Parent Janela_1 ( ) {
MenuBar menuBar = new MenuBar ( );
Menu mainMenu = new Menu ( "Arq" );
MenuItem jan_2 = new MenuItem ( "Janela_2" );
MenuItem jan_3 = new MenuItem ( "Janela_3" );
mainMenu.getItems ( ).addAll ( jan_2, jan_3 );
menuBar.getMenus ( ).add ( mainMenu );
BorderPane root = new BorderPane ( );
// Criando moldura e
aplicando efeitos
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width: 12;" + "-fx-border-insets:
5;"
+ "-fx-border-radius: 5;" + "-fx-border-color:
darkblue;" );
Canvas canvas = new Canvas ( 500, 300 );
GraphicsContext ctx = canvas.getGraphicsContext2D ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
ABRINDO JANELAS POR MENU", 110, 80 );
ctx.setFill ( Color.RED );
ctx.fillText ( "1ª", 110, 120 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Janela", 130, 120 );
root.setPrefSize ( 500, 300 );
jan_2.setOnAction ( actionEvent -> JANELA.setScene ( CENA_2 ) );
jan_3.setOnAction ( actionEvent -> JANELA.setScene ( CENA_3 ) );
root.getChildren ( ).addAll ( canvas, t_1 );
root.setTop ( menuBar );
return root;
}
//
/////////////////////////////////////////////////////////////////////////
public Parent Janela_2 ( ) {
MenuBar menuBar = new MenuBar ( );
Menu mainMenu = new Menu ( "Arq" );
MenuItem jan_1 = new MenuItem ( "Janela_1" );
MenuItem jan_3 = new MenuItem ( "Janela_3" );
mainMenu.getItems ( ).addAll ( jan_1, jan_3 );
menuBar.getMenus ( ).add ( mainMenu );
BorderPane root = new BorderPane ( );
// Criando moldura e
aplicando efeitos
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width: 12;" + "-fx-border-insets:
5;"
+ "-fx-border-radius: 5;" + "-fx-border-color:
pink;" );
Canvas canvas = new Canvas ( 500, 300 );
GraphicsContext ctx = canvas.getGraphicsContext2D ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
ABRINDO JANELAS POR MENU", 110, 80 );
ctx.setFill ( Color.RED );
ctx.fillText ( "2ª", 110, 120 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Janela", 130, 120 );
root.setPrefSize ( 500, 300 );
jan_1.setOnAction ( actionEvent -> JANELA.setScene ( CENA_1 ) );
jan_3.setOnAction ( actionEvent -> JANELA.setScene ( CENA_3 ) );
root.getChildren ( ).addAll ( canvas, t_2 );
root.setTop ( menuBar );
return root;
}
//
/////////////////////////////////////////////////////////////////////////
public Parent Janela_3 ( ) {
MenuBar menuBar = new MenuBar ( );
Menu mainMenu = new Menu ( "Arq" );
MenuItem jan_1 = new MenuItem ( "Janela_1" );
MenuItem jan_2 = new MenuItem ( "Janela_2" );
mainMenu.getItems ( ).addAll ( jan_1, jan_2 );
menuBar.getMenus ( ).add ( mainMenu );
BorderPane root = new BorderPane ( );
// Criando moldura e
aplicando efeitos
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width: 12;" + "-fx-border-insets:
5;"
+ "-fx-border-radius: 5;" + "-fx-border-color:
red;" );
Canvas canvas = new Canvas ( 500, 300 );
GraphicsContext ctx = canvas.getGraphicsContext2D ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
ABRINDO JANELAS POR MENU", 110, 80 );
ctx.setFill ( Color.RED );
ctx.fillText ( "3ª", 110, 120 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Janela", 130, 120 );
root.setPrefSize ( 500, 300 );
jan_1.setOnAction ( actionEvent -> JANELA.setScene ( CENA_1 ) );
jan_2.setOnAction ( actionEvent -> JANELA.setScene ( CENA_2 ) );
root.getChildren ( ).addAll ( canvas, t_3
);
root.setTop ( menuBar );
return root;
}
//
/////////////////////////////////////////////////////////////////////////
public void Informe ( ) {
t_1.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
t_1.setX ( 200 );
t_1.setY ( 230 );
t_1.setFill ( Color.BLUE );
t_1.setText ( "Por: Samuel
Lima\n"
+ "sa_sp10@hotmail.com\n\n"
+" MUITO OBRIGADO");
t_2.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
t_2.setX ( 200 );
t_2.setY ( 230 );
t_2.setFill ( Color.BLACK );
t_2.setText ( "Por: Samuel
Lima\n"
+ "sa_sp10@hotmail.com\n\n"
+" MUITO OBRIGADO");
t_3.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
t_3.setX ( 200 );
t_3.setY ( 230 );
t_3.setFill ( Color.RED );
t_3.setText ( "Por: Samuel
Lima\n"
+ "sa_sp10@hotmail.com\n\n"
+" MUITO OBRIGADO");
}
//
/////////////////////////////////////////////////////////////////////////
@Override
public void start ( Stage stage ) {
JANELA = stage;
CENA_1 = new Scene ( Janela_1 ( )
);
CENA_2 = new Scene ( Janela_2 ( )
);
CENA_3 = new Scene ( Janela_3 ( )
);
JANELA.setScene ( CENA_1 );
JANELA.setTitle ( "ABRINDO
JANELAS POR MENU" );
Informe ( );
JANELA.show ( );
}
//
/////////////////////////////////////////////////////////////////////////
public static void main ( String [ ] args ) {
launch ( args );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.