gpt4 book ai didi

gwt - GWT JSNI BOOLEAN

转载 作者:行者123 更新时间:2023-12-01 15:01:47 25 4
gpt4 key购买 nike

这是我的代码:

package com.eggproject_hu.WPECommerceAdminSales.client;

import java.lang.Boolean;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;

public class AblakVillogo
{
public static Boolean focusedWindow = true;
private static Boolean init = false;

public static void setFocused(Boolean focus)
{
focusedWindow = focus;
}

public static Boolean getFocused()
{
return focusedWindow;
}

public static void focusVizsgalat()
{
if(focusedWindow == true)
{
GWT.log("igen");
}
else
{
GWT.log("nem");
}
}

public static void init()
{
if(init == false)
{
_init();
}
}

private native static void _init() /*-{
$wnd.jQuery(document).ready(function()
{
$wnd.jQuery($wnd).focus(function()
{
@com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::focusVizsgalat()(); @com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::setFocused(Ljava/lang/Boolean;)(true);
$wnd.console.log("focus");
}).blur(function()
{
var ret = false;
@com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::focusVizsgalat()();
@com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::setFocused(Ljava/lang/Boolean;)(false);
$wnd.console.log("blur");
});
});
}-*/;
}

我在浏览器控制台中看到了这一点:

未捕获的异常:java.lang.IllegalArgumentException:调用参数:boolean类型的JS值,预期的java.lang.Boolean

我已经在Chrome和Firefox中进行了测试。

问题是什么?

谢谢您的帮助!

最佳答案

要么遵循Daniel的建议,但是然后您必须更改方法以采用boolean参数(即,始终使用boolean),或者您可以在JSNI方法中的java.lang.Boolean中将布尔值显式转换/装箱:

@com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::setFocused(Ljava/lang/Boolean;)(@java.lang.Boolean::valueOf(Z)(true));

…即使在您的情况下,由于该值是一个常量,我还是宁愿直接使用 Boolean常量 TRUEFALSE:
@com.eggproject_hu.WPECommerceAdminSales.client.AblakVillogo::setFocused(Ljava/lang/Boolean;)(@java.lang.Boolean::TRUE);

话虽如此,我相信丹尼尔的建议是最合适的。

关于gwt - GWT JSNI BOOLEAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com