标签: javafx

运行javafx程序时发生InvocationTargetException

所以这在javafx的例子中起作用,当时我的电脑有jdk 1.7.0,所以这可能是java8中FX的新版本;

我得到了一个很好的堆栈跟踪

jfx-project-run:
Executing E:\workspace\PathFinderApp\dist\run1095471771\PathFinderApp.jar using platform C:\Program Files\Java\jdk1.8.0\jre/bin/java
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:367)
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:894)
    at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
    at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
    at java.lang.Thread.run(Thread.java:744)
Caused by: javafx.fxml.LoadException: 
file:/E:/workspace/PathFinderApp/dist/run1095471771/PathFinderApp.jar!/com/rpg/gui/main.fxml:11

    at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617)
    at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:937)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:976)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:216)
    at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:738)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230) …
Run Code Online (Sandbox Code Playgroud)

java netbeans javafx

19
推荐指数
2
解决办法
8万
查看次数

JavaFX现在已经出局了:Applets和Java Desktop是否正式死亡/死亡?

JavaFX现在已经出局,并且有些承诺Swing将与JavaFX一起改进.丑陋的默认UI时代已经过去,最后我们可以创建与Flash,Air和Silverlight相媲美的引人入胜的应用程序.

  1. 这是否意味着从1990年代开始的Java Applets已经死了,不值得回去?

  2. Java Desktop相同:Java开发人员使用它而不是JavaFX会有什么吸引力?

java applet javafx

18
推荐指数
6
解决办法
1万
查看次数

删除JFX中标签后面的灰色bg

那么有没有办法删除选项卡后面的灰色区域: 例

我试过用CSS做这个,但没找到怎么做.

java user-interface javafx

18
推荐指数
2
解决办法
2万
查看次数

父母舞台上的中心舞台

我正在JavaFx中创建一个应用程序,如果有任何子阶段被打开,我想要这样做,然后它应该在父阶段的中心打开.我试图这样做,mystage.centerOnScreen()但它会将子阶段分配到屏幕的中心,而不是父阶段的中心.如何将子阶段分配到父阶段的中心?

private void show(Stage parentStage) {
    mystage.initOwner(parentStage);
    mystage.initModality(Modality.WINDOW_MODAL);
    mystage.centerOnScreen();
    mystage.initStyle(StageStyle.UTILITY);
    mystage.show();
 }
Run Code Online (Sandbox Code Playgroud)

java javafx stage javafx-2

18
推荐指数
1
解决办法
2万
查看次数

JavaFX应用程序在关闭后仍然运行

我在关闭我的javaFX应用程序时遇到问题,当我点击我的舞台上的关闭按钮时,我的应用程序消失但是如果我在我的任务管理器中查找它,我的应用程序仍然没有关闭.我试图使用下面的代码强制它关闭主线程和所有子线程,但问题仍然存在.

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {

            @Override
            public void handle(WindowEvent t) {
                Platform.exit();
            }

        });
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2

18
推荐指数
5
解决办法
3万
查看次数

JavaFX - 带有图像按钮的ListView项

我想知道是否可以在每个ListView项后添加一个图像按钮.例如:样品

那些红色方块应该有一个按钮.如果可能,我该如何处理项目按钮的点击事件?

编辑:如果有另一个控件可以做到,请告诉我.我正在测试TableView.

提前致谢!

listview javafx

18
推荐指数
1
解决办法
3万
查看次数

计时器和javafx

我正在尝试编写一个代码,使用javafx以预定但不规则的间隔在屏幕上显示内容.我试图使用一个计时器(java.util,而不是javax.swing),但事实证明,如果你是从一个单独的线程工作,你不能改变应用程序中的任何东西.(像一个计时器)任何人都可以告诉我我怎么能如果它们都是单独的线程,那么让Timer与应用程序进行交互?

multithreading javafx timer javafx-2

18
推荐指数
3
解决办法
2万
查看次数

没有使用Java 8 Eclipse设置Root错误

最近我为我的JavaFX应用程序安装了Java 8 build 124,我开始收到这些错误:

javafx.fxml.LoadException: Root hasn't been set. Use method setRoot() before load.
/Users/jonathan/Projects/Dominion/target/classes/dominion/application/controller/main_overview_tab.fxml:13

at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2613)
at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:104)
at javafx.fxml.FXMLLoader$RootElement.constructValue(FXMLLoader.java:1320)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
at dominion.application.controller.MainOverviewTab.initView(MainOverviewTab.java:64)
at dominion.application.controller.MainOverviewTab.initializeController(MainOverviewTab.java:55)
at dominion.application.controller.GameSetupController.<init>(GameSetupController.java:37)
at dominion.application.controller.DashboardController.<init>(DashboardController.java:40)
at dominion.application.controller.MainController.<init>(MainController.java:37)
at dominion.application.Dominion.start(Dominion.java:18)
at com.sun.javafx.application.LauncherImpl$8.run(LauncherImpl.java:837)
at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335)
at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

javafx.fxml.LoadException: Root hasn't been set. Use method setRoot() before load.
/Users/jonathan/Projects/Dominion/target/classes/dominion/application/controller/players_tab.fxml:13

at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2613)
at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:104)
at javafx.fxml.FXMLLoader$RootElement.constructValue(FXMLLoader.java:1320)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723)
at …
Run Code Online (Sandbox Code Playgroud)

java macos javafx java-8 javafx-8

18
推荐指数
1
解决办法
1万
查看次数

有些场景在maven构建后没有加载

我正在开发netbeans中的JavaFx应用程序,在netbeans中项目正在构建并运行良好.

我从我的项目中创建了一个构建(mvn包),它完成没有错误,但是当我启动程序时,它没有加载所有场景,并且在这种情况下FXMLLoader返回null值.

所有.fxml文件位于同一文件夹中.

public class JavaFXApplication extends Application {

    public static final String TOOLBAR_MAIN = "toolbarMain";
    public static final String TOOLBAR_MAIN_FXML = "/fxml/ToolbarMain.fxml";
    public static final String TOOLBAR_SUB = "toolbarSub";
    public static final String TOOLBAR_SUB_FXML = "/fxml/ToolbarSub.fxml";

    public static final String NEW_SESSION_PANEL = "newSession";
    public static final String NEW_SESSION_PANEL_FXML = "/fxml/NewSessionPanel.fxml";
    public static final String OPEN_SESSION_PANEL = "openSession";
    public static final String OPEN_SESSION_PANEL_FXML = "/fxml/OpenSessionPanel.fxml";
    public static final String CONNECTIONS_PANEL = "connections";
    public static final String CONNECTIONS_PANEL_FXML = "/fxml/ConnectionsPanel.fxml";
    public …
Run Code Online (Sandbox Code Playgroud)

java netbeans javafx maven java-8

18
推荐指数
1
解决办法
277
查看次数

JavaFX MediaPlayer:MP4不会在Windows 7上循环播放

我已经创建了一个基本的JavaFX媒体播放器.在我的Windows 10操作系统上,一切正常,它的功能完全符合预期.

private MediaPlayer initializeMediaPlayer(){
    Media media = new Media(getClass().getResource("1-1.mp4").toString());
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.setAutoPlay(true);
    mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
    mediaPlayer.setRate(1.25);
    mediaPlayer.setMute(true);
    return mediaPlayer;
}
Run Code Online (Sandbox Code Playgroud)

然而,当我在Windows 7上运行此代码时,视频不会循环:它播放五秒钟,在视频结束时,视频就会冻结.鉴于视频只有5秒长,循环对于此程序正常工作绝对必不可少.

以下是我对此问题的了解:

  • 问题仅存在于Windows 7上的mp4文件.当使用oracle的示例.flv文件(即http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv)运行该程序时,它运行正常.将我的mp4文件转换为flv不是一种选择.
  • 该程序在我运行它的所有Windows 10计算机上都能正常运行.此问题仅发生在Windows 7中,但我没有在任何其他操作系统上测试它.我需要最终在只有Windows 7计算机的实验室中运行该程序.
  • 所有其他MediaPlayer参数(即set autoplay,setMute和setRate)在Windows 10和Windows 7中均可正常工作.它只是在Windows 7上似乎不起作用的setCycleCount属性.
  • 在所有测试计算机上,我确保Java已更新到最新版本.我正在使用Java 8更新144.

java windows video javafx media-player

18
推荐指数
1
解决办法
623
查看次数