Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 从下到上堆叠/插入JComponents(类似于CLI的功能)_Java_Swing - Fatal编程技术网

Java 从下到上堆叠/插入JComponents(类似于CLI的功能)

Java 从下到上堆叠/插入JComponents(类似于CLI的功能),java,swing,Java,Swing,我正在使用Swing和Graphics2d API用Java编写一个时髦的CLI,但在反向堆叠任何给定输入的输出时遇到了问题。换句话说,大多数布局管理器似乎是从左到右或从上到下定位的,并且在添加/重新绘制/重新验证新组件后,他们似乎都无法插入两个组件的中间或中间,也无法向上或向上移动一个组件。非常感谢任何帮助或指导,因为我已经尝试过搜索,但无法找到这个问题的答案 这基本上就是我想要的: 用户输入命令并按enter键,输入和其他需要遵循的内容一起输出,然后用户可以输入下一个命令 大多数布局管理器

我正在使用Swing和Graphics2d API用Java编写一个时髦的CLI,但在反向堆叠任何给定输入的输出时遇到了问题。换句话说,大多数布局管理器似乎是从左到右或从上到下定位的,并且在添加/重新绘制/重新验证新组件后,他们似乎都无法插入两个组件的中间或中间,也无法向上或向上移动一个组件。非常感谢任何帮助或指导,因为我已经尝试过搜索,但无法找到这个问题的答案

这基本上就是我想要的:

用户输入命令并按enter键,输入和其他需要遵循的内容一起输出,然后用户可以输入下一个命令

大多数布局管理器似乎是从左到右或从上到下定位的,而且似乎没有一个能够插入到中间或两个组件之间

取决于您使用的布局管理器。您可以使用FlowLayout、BoxLayout或GridLayout,并使用以下命令将组件插入任意位置:

panel.add(component, index);
其他布局管理器(如BorderLayout和GridBagLayout)需要约束才能添加组件,因此您无法控制组件的顺序

在输入组件上方添加一个或多个Swing组件


我猜BoxLayout就是要查看的布局。

最好共享所需设计的快照链接。添加了快照链接@joshuar500您是否在询问如何将文本附加到可容纳文本的Swing组件的底部?@nespowerglood否。在输入组件上方添加一个Swing组件。然后在添加新组件时将该组件向上移动,该组件保持不变。谢谢@camickr。我明天会进一步研究,希望找到一个可行的解决方案,我可以分享。