3

C/C++ X11 アプリケーションを別の Java アプリケーションに埋め込むために、X11 トップレベル ウィジェットの親を変更することは可能ですか?

  • JFrame または JWindow (パッケージ sun.awt.x11 を使用して X11 ピアの X11 ウィンドウ ID を取得します)?
  • またはJPanel?

JPanel で親を変更したいのですが、それが可能かどうかはわかりません。

4

1 に答える 1

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);
}

いつでもポート 6000程度を開いて、独り言を言うjava.net.Socketことができます。役立つかもしれないコードX11

参照、このヘルプを願っています
注:パッケージsun.awt.x11はもうありませんjdk7

于 2012-08-20T14:39:07.190 に答える