簡體   English   中英

JFrame或JPanel上的Reparent X11窗口?

[英]Reparent X11 window on a JFrame or a JPanel?

為了將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.Socket6000左右,然后自己說X11
代碼可能有所幫助

參考 ,希望這個幫助
注:sun.awt.x11沒有更多jdk7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM