exception - Vaadin 7 获取屏幕宽度

标签 exception get resolution vaadin

当我尝试像这样获取屏幕宽度时,出现 UnsatisfiedLinkError 异常:

int screenWidth = BrowserInfo.get().getScreenWidth();

在 BrowserInfo.getBrowserString() 处抛出异常:

Feb 25, 2013 2:03:40 PM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE: 
java.lang.UnsatisfiedLinkError: com.vaadin.client.BrowserInfo.getBrowserString()Ljava/lang/String;
at com.vaadin.client.BrowserInfo.getBrowserString(Native Method)
at com.vaadin.client.BrowserInfo.<init>(BrowserInfo.java:76)
at com.vaadin.client.BrowserInfo.get(BrowserInfo.java:67)
at com.vaadin.client.BrowserInfo.<clinit>(BrowserInfo.java:56)
at layoutHandler.MainLayoutHanlder.setCssClasses(MainLayoutHanlder.java:34)

这是 Vaadin 7 的错误,还是我只是错误地使用了 BrowserInfo 类?

最佳答案

改为调用Page.getCurrent().getBrowserWindowWidth()

BrowserInfo 是一个客户端类,您不应在服务器端类中使用它。我会完全避免将客户端库放在类路径上。 getBrowserWindowWidth 是 native 的,因为这是 GWT 编译器桥接到 JavaScript 代码的方式。如果您查看源代码,JavaScript 代码位于特殊格式的注释中。

关于exception - Vaadin 7 获取屏幕宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067744/

相关文章:

c# - NUnit 测试用例预期消息

c# - UWP - while 循环中的 HttpClient 仅执行一次 GET 并返回与第一个执行值相同的字符串

java - OpenCV - 在 Java 中改变相机分辨率

c# - 关于DNS解析使用[System.Net.Dns] : how does it work and what port does it use?的两个问题

Python如何获取图像然后POST(通过请求库)

c# - 在 FreeImage 中更改图像分辨率

java - 循环空指针异常

java - 无论如何,要在 try block 的 catch block 中执行后续操作

java - 如何通过 HibernateTemplate 更新数据库中的特定字段

javascript - 使用 JavaScript 将数据发布到 iFrame