Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kura上的java swing GUI_Java_Swing_X11_Display_Kura - Fatal编程技术网

kura上的java swing GUI

kura上的java swing GUI,java,swing,x11,display,kura,Java,Swing,X11,Display,Kura,我需要帮助在Kura中创建一个显示Swing GUI的包。我正在使用Java和OSGI创建捆绑包。我在树莓上做的 我将此代码放在捆绑包的激活器中: public void activate(ComponentContext componentContext, Map<String,Object> properties) { System.out.println("Sono AstroGUI!!!!"); Runnable runnable = new Runnabl

我需要帮助在Kura中创建一个显示Swing GUI的包。我正在使用Java和OSGI创建捆绑包。我在树莓上做的

我将此代码放在捆绑包的激活器中:

public void activate(ComponentContext componentContext, Map<String,Object> properties)
{
    System.out.println("Sono AstroGUI!!!!");

    Runnable runnable = new Runnable() {
          public void run() {
        createAndShow();
          }
        };
        SwingUtilities.invokeLater(runnable);
}

 static void createAndShow() {


    JFrame frame = new JFrame("Hello World");
    frame.setSize(640,480);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
public void激活(ComponentContext ComponentContext,映射属性)
{
System.out.println(“Sono AstroGUI!!!!”);
Runnable Runnable=新的Runnable(){
公开募捐{
createAndShow();
}
};
SwingUtilities.invokeLater(可运行);
}
静态void createAndShow(){
JFrame=newjframe(“你好世界”);
帧设置大小(640480);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
但当我上传捆绑包时,系统返回以下错误:

线程“AWT-EventQueue-0”java.AWT.HeadlessException中的异常:否 设置了X11显示变量,但此程序执行了一个操作 这需要它。在 GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) 在java.awt.Window.(Window.java:536)在 Frame.awt.Frame.(Frame.java:420)位于 javax.swing.JFrame.(JFrame.java:225)位于 com.riccardofontanini.astrogui.AstroGUIActivator.createAndShow(AstroGUIActivator.java:56) 在 astrogui.AstroGUIActivator$1.run(AstroGUIActivator.java:47) 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)中 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744) 访问$400(EventQueue.java:97) java.awt.EventQueue$3.run(EventQueue.java:697)位于 java.awt.EventQueue$3.run(EventQueue.java:691)位于 java.security.AccessController.doPrivileged(本机方法)位于 ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:714) java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在 java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:116) 在 java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


请帮帮我

一定要确保X11按照前面的建议正确设置。您还可以尝试编辑Kura的启动脚本,以确保在Kura启动时X已就绪。启动脚本位于/opt/eclipse/kura/bin中。Kura在引导时使用的默认脚本是start_Kura_background.sh。编辑此文件并添加以下行:

另外,您使用的是什么版本的Java?我只在完整的Oracle JRE上看过这项工作。我还没有在OpenJDK上尝试EclipseKura+Swing,它在Java嵌入式系统上也不起作用

谢谢


--Dave

当然要确保X11按照之前的建议正确设置。您还可以尝试编辑Kura的启动脚本,以确保在Kura启动时X已就绪。启动脚本位于/opt/eclipse/kura/bin中。Kura在引导时使用的默认脚本是start_Kura_background.sh。编辑此文件并添加以下行:

另外,您使用的是什么版本的Java?我只在完整的Oracle JRE上看过这项工作。我还没有在OpenJDK上尝试EclipseKura+Swing,它在Java嵌入式系统上也不起作用

谢谢

--Dave

或检查此项或检查此项Hi,(我使用的是eurotech的esf)我将DISPLAY=localhost:0.0放入/opt/eurotech/esf/bin/start\u kura\u debug\u background.sh,这样就解决了显示问题,但是现在还有另一个问题:java.lang.NoClassDefFoundError:无法初始化类sun.awt.X11.XToolkit我认为这是java的问题。。。或者我必须在我的包中打包一些想法…嗨,(我正在使用eurotech的esf)我把DISPLAY=localhost:0.0放在/opt/eurotech/esf/bin/start\u kura\u debug\u background.sh中,这解决了显示问题,但现在还有一个问题:java.lang.NoClassDefFoundError:无法初始化类sun.awt.X11.XToolkit我认为这是java问题。。。或者我必须在我的包裹里装些东西。。。
if ! xset q &>/dev/null; then
    echo “Starting X Server...”
    su -s /bin/bash -c xinit root& export DISPLAY=:0
    echo “X Server started !”
else
    echo “X Server already running, DISPLAY variable setted”