Tag: fxml

一个FXML文件的多个控制器

我有一个由一个控制器控制的fxml文件。 我想将控制器分成多个部分,就像放在一个控制器中制作一个长代码一样。 不幸的是,fx:controller只能放在root中。 对我有什么建议如何分离控制器?

FXML加载exception

我遇到了一个我自己无法解决的问题,因为我刚刚开始使用JAVA FX。 我得到一个令人讨厌的javafx.fxml.LoadException :,但我完全像一个向导,但我不能让我的Main运行。 这是exception输出: apr 07, 2014 4:06:37 EM application.Main start ALLVARLIG: null javafx.fxml.LoadException: /C:/Users/Jakob/Dropbox/java_kurser/Project%20Timeline/bin/application/LoginGUI.fxml at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.load(Unknown Source) at application.Main.start(Main.java:21) at com.sun.javafx.application.LauncherImpl$8.run(Unknown Source) at com.sun.javafx.application.PlatformImpl$7.run(Unknown Source) at com.sun.javafx.application.PlatformImpl$6$1.run(Unknown Source) at […]

FXMLLoader如何加载FXML的控制器?

当我在JavaFX中调用FXMLLoader#load()时会发生什么? 假设FXML控制器扩展了一个具有构造函数的类。 是否可以保证将调用构造函数? 如果没有,将如何创建对象的新实例? 例如,在下面的代码中,是否会调用TextField()构造函数? import java.net.URL; import java.util.ResourceBundle; import javafx.fxml.Initializable; import javafx.scene.control.TextField; public class FXMLController extends TextField implements Initializable { @Override public void initialize(URL url, ResourceBundle rb) { } } 我已经尝试过搜索这个,但除了“从FXML文档加载对象层次结构”之外,似乎没有关于它的文档。 来自http://docs.oracle.com/javafx/2/api/javafx/fxml/FXMLLoader.html 您的回答将不胜感激。 非常感谢!

是否可以重新加载相同的FXML / Controller实例?

目标:实施标准的“设置”GUI窗口。 左侧ListView中的类别和右侧Pane的相应选项。 (请忽略重复类别的明显错误;仍在处理它) 我有一个整个设置窗口的主窗口,其中包含一个包含所有类别设置的ListView 。 窗口的右侧有一个AnchorPane ,当从列表中选择一个时,它用于为每个类别加载单独的FXML文件。 当用户选择一个类别时,我需要它们能够编辑右侧的设置,切换到另一个类别并进行更多更改。 然而,如果他们回到第一类,那里所做的改变仍然存在。 我明显的问题是,每次用户更改类别时, FXMLLoader重新加载FXML文件和控制器,将所有控件重置为默认值。 那么是否可以重用已加载和更改的FXML文件? 研究: 我发现似乎解决问题的唯一答案是如何在不重新加载FXML文件的情况下swich javafx应用程序控制器? 。 提到使用Singleton作为FXML控制器,但没有解决每次重新加载FXML文件本身的问题。 如果有人可以指出这种类型的设置菜单的基本示例,我会很高兴。

如何在JavaFX中切换场景

我看了很多页面试图找出如何切换场景,但我没有成功。 我有一个计算器,我的目标是选择一个菜单选项来改变计算器(即:基本和科学)。 现在我只是测试所以这里是我的代码到目前为止这个问题(我使用的是Scene Builder): @FXML private MenuItem basic; @FXML private MenuItem testSwitch; public static void main(String[] args) { Application.launch( args ); } @Override public void start(Stage primaryStage) throws Exception { Parent pane = FXMLLoader.load( getClass().getResource( “calculator.fxml” ) ); Scene scene = new Scene( pane ); primaryStage.setScene(scene); primaryStage.setTitle( “Calculator” ); primaryStage.show(); } @FXML public void handleMenuOption(ActionEvent […]

如何在FXML文档中实现JavaFX的语言支持?

如何在FXML文档中使用不同的语言来支持许多国家/地区?

JavaFX – 如何获得FXML控制器?

我有以下代码: Parent parent = FXMLLoader.load(Main.class.getResource(“JanelaPrincipal.fxml”)); 在fxml文件中有一个对控制器类的引用。 如何获取控制器对象? FXML: …

JavaFX:FXML:如何让孩子扩展其大小以适应父窗格?

我设法在父fxml(mainMenu UI)下加载子fxml(子UI)。 我创建了一个id为“mainContent”的AnchorPane。 此窗格绑定到4个方面,并且更改符合舞台。 子窗口将加载到“mainContent”锚定窗格中。 但是,我无法弄清楚如何让孩子与其父“mainContent”一起改变。 我的孩子UI就是这样调用的。 @FXML private void mnuUserLevel_onClick(ActionEvent event) { FXMLLoader loader = new FXMLLoader(getClass().getResource(“DBedit.fxml”)); loader.setController(new DBeditEntityUserlevel()); try { Node n = (Node)loader.load(); mainContent.getChildren().add(n); } catch (IOException e){ System.out.println(e.getMessage()); } } 为了进一步说明我的问题,请看我的快照。 红场就是孩子。 黄色方块是MainMenu父级的“mainContent”AnchorPane。

JavaFX:在运行时更改应用程序语言

我正在使用FXML中描述的核心组件制作JavaFX桌面应用程序,我想为用户提供更改语言的选项。 但是,一旦从FXML加载组件,我还没有找到任何直接的方法来更改语言。 问题是如何处理在JavaFX中切换语言的任何标准方法。

MenuButton不显示Javafx中的项目

我有一个Foo类,只需加载FXML并创建场景。 在FXML中,我将控制器设置为FooController( fx:controller=”FooController” ) 我添加一个MenuButton: 我尝试在FooController中设置menuButton: public class FooController implements Initializable{ @FXML final MenuButton menuButton = new MenuButton(“Modalities”); @Override public void initialize(URL arg0, ResourceBundle arg1) { final ObservableList listFilter = FXCollections.observableArrayList(); final MenuButton menuButton = new MenuButton(“Modalities”); CheckMenuItem item1 = new CheckMenuItem(“T1”); CheckMenuItem item2 = new CheckMenuItem(“T1C”); CheckMenuItem item3 = new CheckMenuItem(“T2”); listFilter.addAll(item, item2, item3); […]