首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将X窗口重新放置到Java组件树中

将X窗口重新放置到Java组件树中
EN

Stack Overflow用户
提问于 2012-12-04 15:02:44
回答 1查看 557关注 0票数 0

我必须在Java框架(从java应用程序)上重新创建一个X窗口(来自C++应用程序)。这个X窗口必须插入到Java组件树中,这样z顺序才会得到尊重。要做到这一点,我需要理解:

  1. 首先,Java应用程序创建的组件树与匹配的X窗口树之间的确切关系。
  2. 第二,是否能够在Java树上插入X窗口,这要归功于重新父级。
  3. 第三,处理窗口/组件堆栈的方式:哪个窗口/组件位于另一个窗口/组件之上。

几周的研究..。但我在这些问题上找不到任何资源..。

关于问题1。据我所知,如果我用组件和其他两个框架创建一个java主框架,Swing树应该如下所示:

代码语言:javascript
复制
                                Frame0
                                   :
                                   :-------------------------------
                                   :               :              :
                               Component         Frame1         Frame2
                                   :
                     Component-----------Component

关于X窗口树: aach框架是一个很重的组件,所以每个帧都有一个X窗口ID。

代码语言:javascript
复制
                                Frame0
                                   :
                         Frame1---------Frame2

关于问题2,。我的问题是:如果我在其他组件中的Swing树中间插入一个Applet (所以是一个重量级组件),会发生什么?X窗口会是什么样子?我希望通过这种方式,我可以在Java应用程序上重新创建一个X窗口,并将这个X窗口插入到Java树中。

关于问题3。即使我可以在Java应用程序中重新创建/插入X窗口,我也不确定z顺序是否会得到尊重。事实上,我做了一个尝试,X窗口已经出现在Java框架的所有组件之上。我不确定如何处理窗口/组件堆栈,以及它与java和X窗口树的关系。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 02:46:13

老实说,自从我做这种事以来,至少已经有12年了。因此,把它当作“值得的”。

首先,树中的每个Swing对象在Swing组件树中都有一个更高的重容器--即使它只是最外层的框架。Swing对象只是XWindow表面上的逻辑绘图区域。

问题1:如果Frame1和Frame2嵌入到Frame0中,则第一种情况下的答案是正确的。否则,它们是独立的XWindows。

问题2:当您在Swing树中插入一个新的重量级组件时,您的新组件将作为包含添加到的Swing组件的绘图面的XWindow的新XWindow组件子组件添加。这是我记忆中最模糊的部分。

问题3: (物质的肉)。XWindow系统首先决定哪些XWindow窗口在每个点都是可见的。然后,在每个XWindow (但不是跨XWindows )中,Swing将在该区域绘制相应的Swing子树。更准确地说,Java为匹配的XWindow画布上的每个重量级组件绘制Swing子树。然后,XWindow服务器根据XWindow树在每个点确定这些画布的哪一部分是可见的。

因此,如果您在Frame0中有一些Swing对象,它比Frame1中使用z级的任何东西都更接近它,但是它是由Frame1重叠的,这并不重要。XWindow排序将获胜,Frame1中的Swing组件将被绘制出来。

注:一旦您理解了这一点,您就可以使用它来提供对Swing对象的“硬”裁剪。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13705808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档