JavaFX桌面应用开发-ToggleGroup,RadioMenuItem,CheckMenuItem(分组,单选框,多选框)

1:ToggleGroup RadioMenuItem CheckMenuItem简介

  • ToggleGroup:分组,这个只有单选框的时候才需要用到分组
  • RadioMenuItem:单选框 同一个组下的一次只能选择一个
  • CheckMenuItem:多选框 可以同时选择多个

2:RadioMenuItem单选框

2.1:效果

JavaFX桌面应用开发-ToggleGroup,RadioMenuItem,CheckMenuItem(分组,单选框,多选框)_第1张图片

2.2:代码实现

package application;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class Main7 extends Application{
	
	public static void main(String[] args) {
		
		launch(args);
	}

	@Override
	public void start(Stage stage) throws Exception {
		
		AnchorPane anchorPane = new AnchorPane();
		
		MenuBar menuBar = new MenuBar();
		
		Menu menu1 = new Menu("File1");
		Menu menu2 = new Menu("File2");
		menuBar.getMenus().addAll(menu1,menu2);
		
		MenuItem menuItem1 = new MenuItem("Item1");
		MenuItem menuItem2 = new MenuItem("Item2");
		MenuItem menuItem3 = new MenuItem("Item3");
		
		menu1.getItems().addAll(menuItem1,menuItem2,menuItem3);
		
		/**
		 * ToggleGroup,RadioMenuItem,CheckMenuItem
		 * */
		//单选框
		ToggleGroup group = new ToggleGroup();
		
		RadioMenuItem radioMenuItem1 = new RadioMenuItem("radioMenuItem1");
		RadioMenuItem radioMenuItem2 = new RadioMenuItem("radioMenuItem2");
		RadioMenuItem radioMenuItem3 = new RadioMenuItem("radioMenuItem3");
		//将三个单选框加入到同一个组里
		group.getToggles().add(radioMenuItem1);
		group.getToggles().add(radioMenuItem2);
		group.getToggles().add(radioMenuItem3);
		
		//设置radioMenuItem3为默认选择
		radioMenuItem3.setSelected(true);
		
		menu2.getItems().addAll(radioMenuItem1,radioMenuItem2,radioMenuItem3);
		
		anchorPane.getChildren().add(menuBar);
		Scene scene = new Scene(anchorPane);
		
		stage.setScene(scene);
		stage.setHeight(500);
		stage.setWidth(600);
		stage.setTitle("选择框学习");
		stage.show();
	}
}

3:CheckMenuItem多选框

3.1:效果图

JavaFX桌面应用开发-ToggleGroup,RadioMenuItem,CheckMenuItem(分组,单选框,多选框)_第2张图片

3.2:代码实现

package application;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class Main7 extends Application{
	
	public static void main(String[] args) {
		
		launch(args);
	}

	@Override
	public void start(Stage stage) throws Exception {
		
		AnchorPane anchorPane = new AnchorPane();
		
		MenuBar menuBar = new MenuBar();
		
		Menu menu1 = new Menu("File1");
		Menu menu2 = new Menu("File2");
		menuBar.getMenus().addAll(menu1,menu2);
		
		MenuItem menuItem1 = new MenuItem("Item1");
		MenuItem menuItem2 = new MenuItem("Item2");
		MenuItem menuItem3 = new MenuItem("Item3");
		
		menu1.getItems().addAll(menuItem1,menuItem2,menuItem3);
		
		/**
		 * ToggleGroup,RadioMenuItem,CheckMenuItem
		 * */
		//多选框
		CheckMenuItem checkMenuItem1 = new CheckMenuItem("checkMenuItem1");
		CheckMenuItem checkMenuItem2 = new CheckMenuItem("checkMenuItem2");
		CheckMenuItem checkMenuItem3 = new CheckMenuItem("checkMenuItem3");
		
		menu2.getItems().addAll(checkMenuItem1,checkMenuItem2,checkMenuItem3);
		
		anchorPane.getChildren().add(menuBar);
		Scene scene = new Scene(anchorPane);
		
		stage.setScene(scene);
		stage.setHeight(500);
		stage.setWidth(600);
		stage.setTitle("选择框学习");
		stage.show();
	}
}

 

 

 

你可能感兴趣的:(JavaFX)