📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
✅ Some premium posts are free to read — no account needed. Follow me on Medium to stay updated and support my writing.
🎓 Top 10 Udemy Courses (Huge Discount): Explore My Udemy Courses — Learn through real-time, project-based development.
▶️ Subscribe to My YouTube Channel (172K+ subscribers): Java Guides on YouTube
In this quick tutorial, we will see how to use the JavaFX MenuBar control with an example.
JavaFX MenuBar Example
The example contains one menu in the menubar. The menu holds four menu items and one separator.
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
initUI(stage);
}
private void initUI(Stage stage) {
var root = new HBox();
var mbar = new MenuBar();
mbar.prefWidthProperty().bind(stage.widthProperty());
var handler = new MyMenuHandler();
var fileMenu = new Menu("File");
mbar.getMenus().add(fileMenu);
var nmi = new MenuItem("New");
nmi.setOnAction(handler);
fileMenu.getItems().add(nmi);
var omi = new MenuItem("Open");
omi.setOnAction(handler);
fileMenu.getItems().add(omi);
var smi = new MenuItem("Save");
smi.setOnAction(handler);
fileMenu.getItems().add(smi);
fileMenu.getItems().add(new SeparatorMenuItem());
var emi = new MenuItem("Exit");
emi.setOnAction((ActionEvent event) -> Platform.exit());
fileMenu.getItems().add(emi);
root.getChildren().add(mbar);
var scene = new Scene(root, 300, 250);
stage.setTitle("MenuBar");
stage.setScene(scene);
stage.show();
}
private class MyMenuHandler implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent event) {
doShowMessageDialog(event);
}
private void doShowMessageDialog(ActionEvent event) {
var mi = (MenuItem) event.getSource();
String item = mi.getText();
var alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Information dialog");
alert.setHeaderText("Menu item selection information");
alert.setContentText(item + " menu item selected");
alert.showAndWait();
}
}
public static void main(String[] args) {
launch(args);
}
}
Related JavaFX Examples
- JavaFX GridPane Example
- JavaFX ColorPicker Example
- JavaFX DatePicker Example
- JavaFX MenuBar Example
- JavaFX Radio Button Example
- JavaFX TabPane Example
- JavaFX Accordion Example
- JavaFX Login Form Validation Example
- JavaFX Form Validation - Registration Form Validation Example
- JavaFX Line Chart Example
- JavaFX Area Chart Example
- JavaFX Scatter Chart Example
- JavaFX Bar Chart Example
- JavaFX Pie Chart Example
- JavaFX Select and Multi-Select Example
- JavaFX Check Box Example
- Java Calculator Project
Comments
Post a Comment
Leave Comment