Java 实现切换全屏菜单项
我根据JavaFX教程创建了以下代码:Java 实现切换全屏菜单项,java,javafx-2,javafx,javafx-8,Java,Javafx 2,Javafx,Javafx 8,我根据JavaFX教程创建了以下代码: final String change[] = { "Full Screen", "Exit Full Screen" }; final MenuItem fullScreen = MenuItemBuilder.create().text(change[0]).build(); fullScreen.setOnAction(new EventHandler<ActionEvent>()
final String change[] =
{
"Full Screen", "Exit Full Screen"
};
final MenuItem fullScreen = MenuItemBuilder.create().text(change[0]).build();
fullScreen.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent e)
{
fullScreen.setText((fullScreen.getText().equals(change[0])) ? change[1] : change[0]);
if (fullScreen.getText().equals(change[0]))
{
primaryStage.setFullScreen(false);
}
else
{
primaryStage.setFullScreen(true);
}
}
});
view.getItems().add(fullScreen);
最终字符串更改[]=
{
“全屏”,“退出全屏”
};
final MenuItem fullScreen=MenuItemBuilder.create().text(更改[0]).build();
fullScreen.setOnAction(新的EventHandler()
{
@凌驾
公共无效句柄(ActionEvent e)
{
fullScreen.setText((fullScreen.getText().equals(change[0]))?change[1]:change[0]);
if(fullScreen.getText().equals(更改[0]))
{
primaryStage.setFullScreen(假);
}
其他的
{
primaryStage.setFullScreen(真);
}
}
});
view.getItems().add(全屏);
我需要通过使用switch语句来改进它,我想在其中设置文本和setFullScreen
。有没有更优雅的方法来实现这一点
编辑:这段代码可以工作,但是实现非常糟糕
MenuItem fullScreen = new MenuItem();
fullScreen.textProperty().bind(
new When(primaryStage.fullScreenProperty())
.then("Exit Full Screen")
.otherwise("Full Screen"));
fullScreen.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setFullScreen(!primaryStage.isFullScreen());
}
});
MenuItem fullScreen=new MenuItem();
fullScreen.textProperty().bind(
新建时间(primaryStage.fullScreenProperty())
。然后(“退出全屏”)
。否则(“全屏”);
fullScreen.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
primaryStage.setFullScreen(!primaryStage.isFullScreen());
}
});
MenuItem fullScreen = new MenuItem();
fullScreen.textProperty().bind(
new When(primaryStage.fullScreenProperty())
.then("Exit Full Screen")
.otherwise("Full Screen"));
fullScreen.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setFullScreen(!primaryStage.isFullScreen());
}
});
MenuItem fullScreen=new MenuItem();
fullScreen.textProperty().bind(
新建时间(primaryStage.fullScreenProperty())
。然后(“退出全屏”)
。否则(“全屏”);
fullScreen.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
primaryStage.setFullScreen(!primaryStage.isFullScreen());
}
});