如何修复“(java:22494): Gdk-WARNING...”
How to fix "(java:22494): Gdk-WARNING..."
我正在编写一个 javafx 程序,我需要面板以恒定速率更新。现在它设置为每秒更新一次。但是我得到了这个错误,当整个场景变得扭曲时,通常(但不总是)在面板中出现一个小故障(它就像镜子一样以奇怪的波涛汹涌的 x 模式在自身上。很难解释)。
完整错误:(java:22494):Gdk-WARNING **:18:38:59.118:调用 XSetErrorHandler() 并推送 GDK 错误陷阱。不要那样做。
这是我的计时器代码:
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
String x = txtDisplay.getText();
txtDisplay.setText(x.substring(1, x.length()) + x.substring(0, 1));
} catch (NullPointerException e) {
System.out.println("Error.");
}
}
});
}
}, 0, 500);
我认为问题出在上面的方块上,好像我违反了一些基本的摆动规则。我的另一个想法是它有两种方法可以同时编辑同一个文本区域,因为我有其他方法设置文本区域的文本。
我很乐意找到错误的解决方案或执行上述方法的更好方法。只需要每秒 运行 而不会崩溃。
谢谢。
编辑:一个新的发展,我现在一直得到一个 "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException" 但堆栈跟踪没有引用我的代码中的任何位置。
这看起来与 JDK-8156779 (see also JDK-8211305) 有关。 IE。 JDK 8、9 和 11 以及 GTK 3 存在一些问题。
对我来说(在 Linux Mint 20.1 和 Open JDK 11,Bellsoft 11.0.10.fx-librca 上)解决方案是使用 -Djdk.gtk.version=2
[ 强制 GTK 2 =12=]
其他人已经通过升级到 JDK 12 或更高版本解决了。
在 Eclipse 下转到 run/run 配置 并添加以下选项到 (x)=Arguments 选项卡下的 vm 参数。
-Djdk.gtk.version=2
我正在编写一个 javafx 程序,我需要面板以恒定速率更新。现在它设置为每秒更新一次。但是我得到了这个错误,当整个场景变得扭曲时,通常(但不总是)在面板中出现一个小故障(它就像镜子一样以奇怪的波涛汹涌的 x 模式在自身上。很难解释)。
完整错误:(java:22494):Gdk-WARNING **:18:38:59.118:调用 XSetErrorHandler() 并推送 GDK 错误陷阱。不要那样做。
这是我的计时器代码:
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
String x = txtDisplay.getText();
txtDisplay.setText(x.substring(1, x.length()) + x.substring(0, 1));
} catch (NullPointerException e) {
System.out.println("Error.");
}
}
});
}
}, 0, 500);
我认为问题出在上面的方块上,好像我违反了一些基本的摆动规则。我的另一个想法是它有两种方法可以同时编辑同一个文本区域,因为我有其他方法设置文本区域的文本。
我很乐意找到错误的解决方案或执行上述方法的更好方法。只需要每秒 运行 而不会崩溃。
谢谢。
编辑:一个新的发展,我现在一直得到一个 "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException" 但堆栈跟踪没有引用我的代码中的任何位置。
这看起来与 JDK-8156779 (see also JDK-8211305) 有关。 IE。 JDK 8、9 和 11 以及 GTK 3 存在一些问题。
对我来说(在 Linux Mint 20.1 和 Open JDK 11,Bellsoft 11.0.10.fx-librca 上)解决方案是使用 -Djdk.gtk.version=2
[ 强制 GTK 2 =12=]
其他人已经通过升级到 JDK 12 或更高版本解决了。
在 Eclipse 下转到 run/run 配置 并添加以下选项到 (x)=Arguments 选项卡下的 vm 参数。
-Djdk.gtk.version=2