如何将 JPanel 从应用程序的东侧移动到西侧?
How do I move a JPanel from the East side of an application to the West?
我玩的游戏有一个开源客户端,但某些 UI 元素不是我最喜欢的,因此我查看了代码以尝试进行更改。我已经能够解决我 运行 遇到的大多数问题,但我被这个问题难住了。我的目标是将侧边栏的位置从游戏右侧 window 更改为左侧。
Here is an image for reference:
右边的红色面板是当前配置,左边的绿色面板是我希望它移动到的位置。
经过一番挖掘,我发现了控制此面板布局的代码:
container = new JPanel();
container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS));
container.add(new ClientPanel(client));
我尝试将第二行“BoxLayout.X_AXIS”的末尾更改为 Y_AXIS、LINE_AXIS 和 PAGE_AXIS,但其中的 none取得了预期的结果。
我的主要问题是这个。有没有办法改变中间线以保持 X 轴对齐但将其翻转到屏幕的西侧?
我确定我遗漏了一些明显的东西,但经过多个小时的研究我还没有找到解决方案。如果需要,我可以提供更多代码,如果需要,我会尝试回答任何问题以阐明我要问的内容。
使用Container.add(Component)
在末尾添加组件。如果您希望将它添加到末尾以外的任何其他位置,请使用 Container.add(Component, int)
,其中整数是您希望将组件添加到的(零索引)索引。
在开头而不是末尾添加所有组件有效地颠倒了它们的顺序,这应该会导致您请求的行为。
我玩的游戏有一个开源客户端,但某些 UI 元素不是我最喜欢的,因此我查看了代码以尝试进行更改。我已经能够解决我 运行 遇到的大多数问题,但我被这个问题难住了。我的目标是将侧边栏的位置从游戏右侧 window 更改为左侧。
Here is an image for reference:
右边的红色面板是当前配置,左边的绿色面板是我希望它移动到的位置。
经过一番挖掘,我发现了控制此面板布局的代码:
container = new JPanel();
container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS));
container.add(new ClientPanel(client));
我尝试将第二行“BoxLayout.X_AXIS”的末尾更改为 Y_AXIS、LINE_AXIS 和 PAGE_AXIS,但其中的 none取得了预期的结果。
我的主要问题是这个。有没有办法改变中间线以保持 X 轴对齐但将其翻转到屏幕的西侧?
我确定我遗漏了一些明显的东西,但经过多个小时的研究我还没有找到解决方案。如果需要,我可以提供更多代码,如果需要,我会尝试回答任何问题以阐明我要问的内容。
使用Container.add(Component)
在末尾添加组件。如果您希望将它添加到末尾以外的任何其他位置,请使用 Container.add(Component, int)
,其中整数是您希望将组件添加到的(零索引)索引。
在开头而不是末尾添加所有组件有效地颠倒了它们的顺序,这应该会导致您请求的行为。