有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java动态调整布局管理器区域的大小

在哪个Swing布局管理器中可以通过编程方式更改布局区域?如何以最低的成本做到这一点

我必须创建一个功能类似于JSplitPane的组件,但从头开始就有三个面板。其中一个时刻是在单击分隔器上的oneTouchExpandable按钮后展开/折叠其中一个面板。但问题是,我不知道如何实施这个崩溃行动。我尝试将面板宽度设置为0,但包含此面板的布局区域在组件之后不会收缩。我试着在所有布局管理器中都这么做,但效果是一样的

谢谢


共 (2) 个答案

  1. # 1 楼答案

    我支持revalidate()/preferredSize答案,但我只是想建议:不要再发明轮子了!使用JideSplitPane(JIDE的免费“公共层”的一部分)——它支持两个以上的拆分

  2. # 2 楼答案

    在GUI可见后进行影响面板布局的更改时,需要重新验证()面板,该面板基本上调用了面板上的布局。在您的情况下,简单地使组件不可见可能更容易:

    component.setVisible(false);
    panel.revalidate();
    panel.repaint(); // this is only required sometimes