Javafx 在组合框中设置全屏
您好,我正在为游戏编写UI。在这个UI中,我想要一个带有设置的场景。在设置中,我有一个Javafx 在组合框中设置全屏,javafx,combobox,fullscreen,Javafx,Combobox,Fullscreen,您好,我正在为游戏编写UI。在这个UI中,我想要一个带有设置的场景。在设置中,我有一个组合框,我希望设置全屏为真或假。实际上,我从类型“如何解决我的问题”中得到错误“无法静态引用非静态方法setFullScreen(boolean)”。我希望无边框swindowsetFullscreentrueprintln正在工作 控制器类 package Menue; public class SettingEinstellungen { @FXML private ComboBox&
组合框
,我希望设置全屏
为真或假。实际上,我从类型“如何解决我的问题”中得到错误“无法静态引用非静态方法setFullScreen(boolean)
”。我希望无边框swindowsetFullscreen
trueprintln
正在工作
控制器类
package Menue;
public class SettingEinstellungen {
@FXML
private ComboBox<String> Combobox;
ObservableList <String> Auswahl =
FXCollections.observableArrayList("Fullscree","Windowmode","Borderless Window");
@FXML
Button exit;
@FXML
public void initialize() {
Combobox.setValue("Fullscree");
Combobox.setItems(Auswahl);
Combobox.getSelectionModel().select("Fullscreen");
Combobox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>(){
public void changed(ObservableValue<? extends String> observable, String alt, String new) {
if(new != null) {
switch(new) {
case "Fullscreen": System.out.println("Vollbildgeklickt" +alt +neu);
break;
case "Window-mode": System.out.println("Fenster\t" +alt);
break;
case "Borderless Window": Stage.setFullScreen(true);
break;
default: ;
break;
}
}
}
});}
//public void changeCombo(ActionEvent event) {
//Stage.setFullscreen(true)(comboBox.getValue(Vollbild));
//}
@FXML
public void exit_press (ActionEvent event) throws IOException {
Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();
//window.setFullScreen(true);
//window.setScene(new Scene(FXMLLoader.load(new File("menue_UI_1.fxml").toURI().toURL())));
Parent root_3 = FXMLLoader.load(getClass().getResource("menue_UI_2.fxml"));
Scene scene_3 = new Scene(root_3);
window.setScene(scene_3);
window.setTitle("Hauptmenü");
window.show();
}
}
package菜单;
公共类设置安装程序{
@FXML
专用组合框组合框;
观察者Auswahl=
FXCollections.observearraylist(“Fullscree”、“Windowmode”、“无边框窗口”);
@FXML
按钮出口;
@FXML
public void initialize(){
Combobox.setValue(“FullScreee”);
Combobox.setItems(Auswahl);
Combobox.getSelectionModel().select(“全屏”);
Combobox.getSelectionModel().SelectEditeProperty().addListener(新的ChangeListener(){
public void changed(observevalue问题在于您没有引用实际阶段,这就是为什么您会出现错误。您需要引用显示的实际阶段。您可以通过在执行过程中获取窗口来实现这一点,也可以在启动程序时在顶部对其进行初始化
comboBox.getSelectionModel()
.selectedItemProperty()
.addListener((obs, oldVal, newVal) -> {
if(newVal != null) {
System.out.println(newVal);
switch(newVal) {
case "Fullscreen":
System.out.println("Vollbildgeklickt" +oldVal + newVal);
break;
case "Window-mode":
System.out.println("Fenster\t" +newVal);
break;
case "Borderless Window":
Stage window = (Stage) comboBox.getScene().getWindow();
window.setFullScreen(true);
break;
default:
break;
}
}
});
与您的问题无关:请学习java命名约定并坚持它们。