Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的多级(嵌套?)Jlist_Java_Swing_Jlist_Jtree_Jtreetable - Fatal编程技术网

Java中的多级(嵌套?)Jlist

Java中的多级(嵌套?)Jlist,java,swing,jlist,jtree,jtreetable,Java,Swing,Jlist,Jtree,Jtreetable,有没有办法创建一个具有多个(我的目标是三个)级别的JList 大概是这样的: level 1 item level 2 item level 2 item level 3 item level 1 item level 1 item level 2 item level 2 item level 3 item level 3 item 我的程序中有(最多)三级组件GUI,我需要使用户能够以某种方式组织GUI的元素,将它们彼此上下移动 是否可以使用J

有没有办法创建一个具有多个(我的目标是三个)级别的JList

大概是这样的:

level 1 item
  level 2 item
  level 2 item
     level 3 item
level 1 item
level 1 item
  level 2 item
  level 2 item
     level 3 item
     level 3 item
我的程序中有(最多)三级组件GUI,我需要使用户能够以某种方式组织GUI的元素,将它们彼此上下移动

是否可以使用JList完成,或者是否有其他方法处理此类事情?
也许有一些库?

您可以实现自己的ListCellRenderer和ListModel


我想你可以,是的,但那样你会受到伤害。JList从概念的角度自然地表示一个列表,而不是一个树,这意味着大多数排序逻辑都必须由您完成。你可能感兴趣的是一个

我认为你应该使用它。

-1,这里没有必要重新设计方向盘……请使用适当的Swing组件。@user1329572这取决于OP的其他要求。也许JList是他最好的解决方案(很可能不是,但谁知道)。@user1329572,为什么要否决我?如果你担心他会重新发明轮子,那么就否决他的问题。或者提供一个答案。@km1 Hiw DOWNPOW没有错。你正在展示一种很可能是非常糟糕的方式。在某些(罕见的)情况下,这可能是一条可行之路(这就是我没有投反对票的原因)。这是一个相关的两层结构。此外,我将能够更改各种组件的索引,然后,按一个按钮,将更改应用到GUI,当然,所有这些都需要正确的代码?如果你所说的索引是指树中的垂直位置,然后,您可以获取一个现有的树,并将索引转换为树中的某个位置(反之亦然),尽管我仍然认为这可能比重新创建JList更快。至少通过这种方式,可以保证用户不会创建无效状态,前提是它遵循树结构。使用
JTree
swing组件。这就是你处理这些事情的方式。