在JFrame或JPanel上重新修复X11窗口



为了将C/C++X11应用程序嵌入到另一个Java应用程序中,是否可以在中修复X11顶级小部件

  • JFrame或JWindow(使用sun.awt.X11包捕获X11对等端的X11窗口ID)
  • 还是JPanel

我更喜欢用JPanel进行修复,但我不确定这是否可能。

我搜索并找到:

一个递归函数,它将搜索(从根窗口开始)具有所需名称的窗口

Window windowWithName(Display *dpy, Window top, char *name)
{
        Window *children, dummy;
        unsigned int nchildren;
        unsigned int i;
        Window w = 0;
        char *window_name;
        if (XFetchName(dpy, top, &window_name) && !strcmp(window_name, name))
                return (top);
        if (!XQueryTree(dpy, top, &dummy, &dummy, &children, &nchildren))
                return (0);
        for (i = 0; i < nchildren; i++)
        {
                w = windowWithName(dpy, children[i], name);
                if (w)
                        break;
        }
        if (children)
                XFree((char *) children);
        return (w);
}

您总是可以打开一个java.net.Socket端口6000左右,然后自己说X11
可能有助于的代码

参考,希望有帮助
注意:sun.awt.x11jdk7 中不再

相关内容

  • 没有找到相关文章

最新更新