为了将C / C ++ X11应用程序嵌入到另一个Java应用程序中,是否可以在以下位置重新显示X11顶级窗口小部件:
我更喜欢用JPanel重新表达,但我不确定它是否可能。
答案 0 :(得分:2)
我搜索并发现:
一个递归函数,它将搜索(从根窗口开始)具有所需名称的窗口
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
。
code that might help
reference,希望此帮助
注意:包sun.awt.x11
<{1}}