如何获取 JDesktopPane 中 JInternalFrames 的 z 顺序

2024-02-26

如何获取 JDesktopPane 内所有 JInternalFrame 的 z 顺序(层深度)。似乎没有直接的方法。有任何想法吗?


虽然我还没有尝试过这个,Container http://java.sun.com/javase/6/docs/api/java/awt/Container.html类(它是JDesktopPane http://java.sun.com/javase/6/docs/api/javax/swing/JDesktopPane.html类)包含一个getComponentZOrder http://java.sun.com/javase/6/docs/api/java/awt/Container.html#getComponentZOrder(java.awt.Component)方法。通过通过Component http://java.sun.com/javase/6/docs/api/java/awt/Component.html这是在Container,它将返回 z 顺序int. The Component该方法返回的 z 顺序值最低的则最后绘制,换句话说,绘制在顶部。

耦合与JDesktopPane.getAllFrames http://java.sun.com/javase/6/docs/api/javax/swing/JDesktopPane.html#getAllFrames()方法,它返回一个数组JInternalFrames http://java.sun.com/javase/6/docs/api/javax/swing/JInternalFrame.html,我认为可以获得内部框架的 z 顺序。

Edit

我实际上已经尝试过了,它似乎有效:

final JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JDesktopPane desktopPane = new JDesktopPane();
desktopPane.add(new JInternalFrame("1") {
    {
        setVisible(true);
        setSize(100, 100);
    }
});
desktopPane.add(new JInternalFrame("2") {
    {
        setVisible(true);
        setSize(100, 100);
    }
});
desktopPane.add(new JInternalFrame("3") {
    JButton b = new JButton("Get z-order");
    {
        setVisible(true);
        setSize(100, 100);
        getContentPane().add(b);
        b.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                JInternalFrame[] iframes = desktopPane.getAllFrames();
                for (JInternalFrame iframe : iframes)
                {
                    System.out.println(iframe + "\t" +
                            desktopPane.getComponentZOrder(iframe));
                }
            }
        });
    }
});

f.setContentPane(desktopPane);
f.setLocation(100, 100);
f.setSize(400, 400);
f.validate();
f.setVisible(true);

在上面的例子中,一个JDesktopPane居住着三个JInternalFrames,第三个有一个按钮,将输出一个列表JInternalFrames 及其 z 顺序System.out.

示例输出如下:

JDesktopPaneTest$3[... tons of info on the frame ...]    0
JDesktopPaneTest$2[... tons of info on the frame ...]    1
JDesktopPaneTest$1[... tons of info on the frame ...]    2

该示例使用大量匿名内部类只是为了保持代码简短,但实际的程序可能不应该这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 JDesktopPane 中 JInternalFrames 的 z 顺序 的相关文章

  • 在 JTable 中移动行

    我使用 MVC 模式 并且有一个如下所示的 JTable List
  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • 如何测试 JUnit 测试的 Comparator?

    我需要测试 Compare 方法 但我对如何测试感到困惑 我可以看看该怎么做吗 public class MemberComparator implements Comparator
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • manifest.mf 文件的附加内容的约定?

    Java JAR 中的 MANIFEST MF 文件是否有任何超出 MANIFEST MF 约定的约定 JAR规范 http download oracle com javase 1 4 2 docs guide jar jar html
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • CXF Swagger2功能添加安全定义

    我想使用 org apache cxf jaxrs swagger Swagger2Feature 将安全定义添加到我的其余服务中 但是我看不到任何相关方法或任何有关如何执行此操作的资源 下面是我想使用 swagger2feature 生成
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它

随机推荐

  • 指定 XmlRootAttribute 时的 XmlSerializer 性能问题

    我目前遇到一个非常奇怪的问题 我似乎不知道如何解决它 我有一个fairly我正在尝试使用 XmlSerializer 类对其进行序列化的复杂类型 这实际上运行良好并且类型序列化正确 但似乎需要一个very长时间这样做 大约 5 秒 具体取决
  • nhibernate 持久化对象真的需要默认构造函数吗?

    由于某种原因 我不想让用户创建对象的实例 而不向构造函数发送属性 但据我所知 该对象应该具有默认构造函数 因此可以在不发送必需属性的情况下创建实例 有什么办法可以防止这个问题吗 如果有的话有副作用吗 只需使用受保护的默认构造函数 publi
  • 在 Qt 中自定义 AppMenu

    我正在为 MacOS 开发 Qt 应用程序 如何向 menuApp 添加项目 我的意思是出现在苹果图标右侧菜单栏上的条目 我想知道如何在 Qt 中实现这一点 而不是 Objective C 我正在使用 Qt 5 9 这是QWidget应用程
  • 带有选择死锁的嵌套更新

    背景 我正在使用一些代码 似乎deadlock经常与自己在一起 在Java中 它产生一个DeadLockLoserDataAccessException定期地 并且导致死锁的违规语句通常是itself 这是在 InnoDB 的事务中运行的
  • deleteRow 有时会删除右边的行,有时则不会在 Javascript 中删除

    我有一张桌子 每行的末尾都有一个 href X 用于删除该行 这很简单 现在 当您单击任意第 2 行的 X 时 它会删除第 2 行 但是当您单击第 3 行时 它会删除第 4 行 这是我的代码 HTML table align center
  • 构建重新训练的初始 SavedModel 后清空变量文件夹

    我正在尝试导出经过重新训练的初始模型 我读过这个几乎类似的问题here https stackoverflow com questions 43001719 deploy retrained inception savedmodel to
  • 求数组中绝对差值之和最小的一个数

    例如 array a 1 1 10 我们需要找到 x 这样 x 1 x 1 x 10 是最小值 这里 x 是 1 可以用贪心的方法解决吗 比如取平均值或其他方法 注意 取平均值不起作用 why 我只能想出O nlogn 解决方案 二分搜索
  • 默认使用maven静态编译.groovy

    我现在在我们的项目中使用maven编译 groovy 我的 pom xml 是
  • 跟踪 PHP 中的内存使用情况

    我正在尝试跟踪处理 URL 的脚本的内存使用情况 基本思想是在将另一个 URL 添加到 cURL 多重处理程序之前检查是否有合理的缓冲区 我使用 滚动 cURL 概念 在多处理程序运行时处理 URL 数据 这意味着每次现有 URL 处理和删
  • 为什么在这种特殊情况下,instanceof 模式匹配不能与 else if 一起使用?

    以下代码片段无法在 javac 版本 17 Temurin 上编译 class Instanceof static void doesNotWork Object o if o null throw new Error else if o
  • NSPredicate 对一个查询字符串进行多次比较

    我想知道是否有一种方法可以简化 NSPredicate 该 NSPredicate 接受多个比较目标的单个查询字符串 我正在搜索同一查询字符串的核心数据实体的多个属性 我当前的查询看起来像这样 NSPredicate predicateWi
  • 如何在 R 中的并行方法中使用无用的记录器进行记录?

    我在 R 中使用无用的记录器进行日志记录 我有一个使用 R 中的 Snowfall 实现的并行算法 并行进程的每个核心都会在记录器中记录中间输出 但是这个输出没有显示在记录器中 我们可以在使用降雪的并行作业中使用徒劳的记录器进行记录吗 添加
  • Android 初学者应用程序中的 openSearch() 未定义

    我刚刚开始学习 Android 初学者教程 现在面临一个问题 在这一页 http developer android com training basics actionbar adding buttons html Respond在 响应
  • 如何播放组合声音,就像从一群发声物体发出的声音一样

    假设我有 100 个 squeaker 类的实例 每个 吱吱声 物体都能够单独发出吱吱声 每个squeaker实体使用相同的 mp3资源 当所有吱吱声一起出现在屏幕上时 例如作为小角色 我希望它们都大约 但不完全 同时发出吱吱声 以便将它们
  • 逆时针旋转矩阵M*N的每个环

    我无法旋转M N逆时针方向的矩阵 我的代码可以正常工作3 3矩阵 但是当我尝试任何其他情况时 它不起作用假设我正在这样做4 4矩阵 则只有外部元素旋转 内部 4 个元素 即 6 7 10 11 不旋转 我的输入是 1 16 个数字4 4 m
  • mvccontrib grid - 如何添加 id

    我想向我构建的 mvccontrib 网格的 tr 元素添加一个 id tr tr tr tr 因此 如果表包含 10 行 则 id 为 0 到 9 一种方法是向我的实体添加一个附加项目来存储该值 然后将其创建为隐藏列 并将 id 作为该项
  • 有没有更快的方法来生成 .csv 文件作为 groupby 和循环的替代方法?

    我必须生成数十个包含数百万行和数十列的 csv 文件 我目前正在通过执行以下操作来生成文件groupby列 A 和 B 并循环动态生成文件to csv 下面是我正在尝试做的事情的一个例子 有没有更快的技术 我的实际数据帧需要 10 多分钟才
  • Visual Studio 中的版本控制

    我目前正在开发一个大型项目 即将做出一些重大更改 并且正在寻找一种方法来 备份 我之前的工作 Visual Studio 中是否有内置功能可用于版本控制 该项目仅由我开发 并且不使用 Team Foundation Server 这是我大部
  • 如何使用带有要价和出价的 pandas 数据框计算成交量加权平均价格 (VWAP)?

    如果我的表格如下所示 如何创建另一个名为 vwap 的列来计算 vwap time bid size bid ask ask size trade trade size phase 0 2019 01 07 07 45 01 064515
  • 如何获取 JDesktopPane 中 JInternalFrames 的 z 顺序

    如何获取 JDesktopPane 内所有 JInternalFrame 的 z 顺序 层深度 似乎没有直接的方法 有任何想法吗 虽然我还没有尝试过这个 Container http java sun com javase 6 docs a