我正在使用javafx webview在jpanel中加载本地html页面。执行代码会给我以下消息:
检测到未完成的资源锁:D3D Vram池:使用了13,810,710(5.1%),管理了13,810,710(5.1%),总计268,435,456
管理的资源总数为14
平均资源年龄为0.8帧
最大支持年龄的0资源(0.000000)
3个资源标记为永久性(21.400000)
3资源有不匹配的锁(21.400000)
锁定3个资源(21.400000)
5个资源包含有趣的数据(35.700000)
我是java的新手,我不明白为什么会生成这条消息以及如何解决它(我的html页面工作得很好,摆动代码也是如此 - 给了我想要的结果)。我试过了在网上查找但无法找到解决方案。
如果需要任何其他信息,请告诉我。
修改
我正在尝试开发视频注释工具。要附加到视频的标签及其处理都是在java swing中完成的。视频本身是我在javafx webview中加载的html页面的一部分。我已经在其上放置了一个半透明的画布,我用它来注册鼠标点击事件,以便在特定时间将标签附加到视频上的特定内容。视频标签下方是另一个用作时间轴的画布(在适当的时间显示附加的标签)。这是代码的基本目标。
这是我添加jfxpanel的代码:
package codingAnnotations;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebEvent;
import javafx.scene.web.WebView;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class JFXContainerPanel extends JPanel {
private final JFXPanel WebViewContainer;
private final JFXPanel TimeLineContainer;
public JFXContainerPanel(){
WebViewContainer = new JFXPanel();
TimeLineContainer = new JFXPanel();
add(WebViewContainer);
Platform.runLater(new Runnable() {
@Override
public void run() {
initFX(WebViewContainer);
}
});
}
private static void initFX(final JFXPanel fxPanel) {
Group group = new Group();
Scene scene = new Scene(group);
WebView webView = new WebView();
group.getChildren().add(webView);
webView.setMinSize(500, 500);
webView.setMaxSize(800, 600);
final String html = "res/VideoCanvas.html";
final java.net.URI uri = java.nio.file.Paths.get(html).toAbsolutePath().toUri();
System.out.println(uri.toString());
WebEngine webEngine = webView.getEngine();
webEngine.load(uri.toString());
webEngine.setOnAlert(new EventHandler<WebEvent<String>>(){
@Override
public void handle(WebEvent<String> arg0) {
String value = arg0.toString().substring(10, arg0.toString().length() - 1);
System.out.println(value);
}
});
fxPanel.setScene(scene);
}
}
感谢您的帮助!