我无法以编程方式创建新的WebView。只需调用<?php
// Create connection
$conn = mysqli_connect("myDbcon", "Name", "PW", "DBname");
// Check connection
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT FORMAT(SUM(test1 / test2),2) total FROM table1, table2";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_array($result, MYSQLI_NUM);
if ($result = mysqli_query($conn, $query)) {
{
printf ($row[0]);
}
mysqli_free_result($result);
}
?>
会导致以下异常:
new WebView()
是错误吗?我正在使用OpenJFX 11.0.1和OpenJDK 11.0.1。
答案 0 :(得分:2)
更新:
如评论中所述,此错误将在OpenJFX 12中修复。
这是com.sun.javafx.logging.PlatformLogger
中的问题代码:
@Override
public String getName() {
throw new UnsupportedOperationException("not implemented");
}
如您所见,它除了抛出观察到的异常外什么也不做。所有“实现的” java.lang.System.Logger
方法都是如此。
如果您遵循提供的堆栈跟踪概述的代码,则getName
方法将最终被调用,因为在初始化com.sun.webkit.perf.PerfLogger
的过程中实例化了WebEngine
,并且,通过扩展,com.sun.webkit.Invoker
类。但是,仅在启用getName
时调用PerfLogger
。
从粗略的目光看,PerfLogger
包装了一个com.sun.javafx.logging.PlatformLogger
,它本身包装了一个System.Logger
。如果PerfLogger
在构造System.Logger
时对isLoggable(System.Logger.Level.FINE)
返回true,则启用PerfLogger
。
在这种情况下,此过程将导致创建名称为System.Logger
的{{1}}。这意味着,如果您将此"com.sun.webkit.perf.Locks"
配置为不在UnsupportedOperationException
或“ lower”以下记录任何内容,则可以避免使用System.Logger
。这样做会使Level.FINE
处于“禁用”状态,从而防止PerfLogger
被调用。
注意:这是基于OpenJFX 11.0.1的源代码。提到的所有内容都是实施细节,可以随时更改,恕不另行通知。