在同一个 JMenu 中对 JMenuItems 组进行排序而不对其他 JMenuItems 进行排序

Sorting groups of JMenuItems inside the same JMenu without sorting other JMenuItems

我正在开发的一个应用程序让用户可以建立与某些行业特定硬件的连接。可以保存这些连接(IP/Host 耦合)并为其命名,并且可以选择一个组属性,该属性将对属于同一组的已保存连接进行配对。

我现在有一个 JMenu,它为用户提供各种连接选项。 JMenu的结构如下:

  1. 建立新连接
  2. 一个 JSeparator
  3. 3 个始终保持不变的标准修订程序连接条目
  4. JSeparator
  5. 定义的连接组的多个条目
  6. JSeparator
  7. 多个条目不属于一个组
  8. JSeparator
  9. 关闭连接

我需要的排序算法必须按字母顺序对 5. 中的分组条目和 7. 中的未分组条目进行排序,而不对任何其他 MenuItem 进行排序。基本上,我如何在 JMenu 中对 MenuItems 的子组进行排序而不对所有子组进行排序?

自从我使用 Swing 以来已经有一段时间了,但我假设您可以将每个菜单项文本的字符串存储在对象数组中,并在 for 循环中呈现菜单项。然后,您可以将 1、3 和 9 作为字符串存储在数组中,将 5 和 7 作为字符串的 ArrayLists 存储在第一个数组中。然后,您可以在呈现第一个数组中的每个项目之间插入一个 JSeparator,通过使用 instanceof 关键字确保每个项目都是一个字符串。如果该项不是 instanceof 字符串,而是 instanceof ArrayList,您可以为该内部 ArrayList 中的每个字符串呈现一个菜单项。您可以使用 Collections.sort(mainArray[indexesOfSubarrays]).

按字母顺序对每个内部 ArrayList 中的项目进行排序