Uma barra de menu sempre é adicionada na parte superior
da janela gráfica de um programa para destacar a visibilidade
ao usuário, mas isto não é bem uma regra, ela pode ser
colocada em qualquer outro lugar da interface.
Através de um menu podemos abrir novas janelas,
novos stages, invocar métodos e classes de qualquer
parte de nosso programa.
Na verdade um menu é um lugar próprio para que funções
que não precisem estar visíveis o tempo todo seja chamado
no momento solicitado pelo usuário.
Neste exemplo estamos ensinando como adicionar ícones
em itens de menu, e isto é uma prática fantástica
do javaFX que não se intimida a nenhuma outra API
de nenhuma outra linguagem de programação.
Veja abaixo imagens do programa em execução:
Veja abaixo um vídeo com o programa funcionando:
Veja abaixo o código do programa:
da janela gráfica de um programa para destacar a visibilidade
ao usuário, mas isto não é bem uma regra, ela pode ser
colocada em qualquer outro lugar da interface.
Através de um menu podemos abrir novas janelas,
novos stages, invocar métodos e classes de qualquer
parte de nosso programa.
Na verdade um menu é um lugar próprio para que funções
que não precisem estar visíveis o tempo todo seja chamado
no momento solicitado pelo usuário.
Neste exemplo estamos ensinando como adicionar ícones
em itens de menu, e isto é uma prática fantástica
do javaFX que não se intimida a nenhuma outra API
de nenhuma outra linguagem de programação.
Veja abaixo imagens do programa em execução:
Veja abaixo um vídeo com o programa funcionando:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
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.stage.Stage;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
////////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
BorderPane root = new BorderPane ( );
Scene scene = new Scene ( root, 640, 350, Color.WHITE );
Canvas canvas = new Canvas ( 640, 350 );
GraphicsContext ctx = canvas.getGraphicsContext2D
( );
MenuBar menuBar = new MenuBar ( );
Menu menu = new Menu ( "Setas" );
MenuItem left = new MenuItem ( "Cima" );
MenuItem right = new MenuItem ( "Direita" );
MenuItem top = new MenuItem ( "Esquerda" );
MenuItem bottom = new MenuItem ( "Baixo" );
EventHandler < ActionEvent > action = changeTabPlacement (
);
//
/////////////////////////////////////////////////////////////////////////
public void Informe ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "Por: ", 250, 265 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 280, 265 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "sa_sp10@hotmail.com", 250, 280 );
ctx.setFill ( Color.RED );
ctx.fillText ( " MUITO
OBRIGADO", 280, 320 );
}
//
/////////////////////////////////////////////////////////////////////////
private EventHandler < ActionEvent > changeTabPlacement ( ) {
return new EventHandler < ActionEvent > ( ) {
public void handle ( ActionEvent event ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 32 ) );
MenuItem mItem = ( MenuItem ) event.getSource ( );
String side = mItem.getText ( );
// Coluna, linha,
comprimento, altura
ctx.clearRect ( 220, 155, 330, 50 );
ctx.setFill ( Color.BLUE );
if ( "Esquerda".equalsIgnoreCase ( side ) ) {
ctx.fillText ( "Seta
esquerda", 230, 185 );
} else if ( "Direita".equalsIgnoreCase ( side ) ) {
ctx.fillText ( "Seta
direita", 230, 185 );
} else if ( "Cima".equalsIgnoreCase ( side ) ) {
ctx.fillText ( "Seta pra
cima", 230, 185 );
} else if ( "Baixo".equalsIgnoreCase ( side ) ) {
ctx.fillText ( "Seta pra
baixo", 230, 185 );
}
}
};
}
//
/////////////////////////////////////////////////////////////////////////
public void Setas_Direcionais ( ) throws FileNotFoundException {
left.setOnAction ( action );
menu.getItems ( ).add ( left );
right.setOnAction ( action );
menu.getItems ( ).add ( right );
top.setOnAction ( action );
menu.getItems ( ).add ( top );
bottom.setOnAction ( action );
menu.getItems ( ).add ( bottom );
// Imagens de 32 x 32.
Image image_1 = new Image ( new FileInputStream (
"H:\\eclipse -
luna java\\PROJETOS\\PROJETO\\src\\Foto\\Cima.png" ) );
Image image_2 = new Image ( new FileInputStream (
"H:\\eclipse -
luna java\\PROJETOS\\PROJETO\\src\\Foto\\Direita.png" ) );
Image image_3 = new Image ( new FileInputStream (
"H:\\eclipse -
luna java\\PROJETOS\\PROJETO\\src\\Foto\\Esquerda.png" ) );
Image image_4 = new Image ( new FileInputStream (
"H:\\eclipse -
luna java\\PROJETOS\\PROJETO\\src\\Foto\\Baixo.png" ) );
left.setGraphic ( new ImageView ( image_1 ) );
right.setGraphic ( new ImageView ( image_2 ) );
top.setGraphic ( new ImageView ( image_3 ) );
bottom.setGraphic ( new ImageView ( image_4 ) );
}
//
/////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) throws FileNotFoundException {
stage.setTitle ( "JAVAFX -
ADICIONANDO ÍCONES EM MENU" );
// 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;" );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
ADICIONANDO ÍCONES EM MENU", 170, 80 );
Setas_Direcionais ( );
Informe ( );
menuBar.prefWidthProperty ( ).bind ( stage.widthProperty ( ) );
root.getChildren ( ).addAll ( canvas );
root.setTop ( menuBar );
menuBar.getMenus ( ).addAll ( menu );
stage.setScene ( scene );
stage.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.