我试图使我的Swing组件不能垂直缩放,也不能水平缩放,反之亦然(换句话说,我只希望它们有一个自由轴。在某些情况下,它们可以水平缩放,或垂直于其他人。)
在没有添加大量JPanel的情况下,有没有优雅的方法呢?
LE:我不想对我收到的已经制作的布局做任何重大修改。
我希望能够对这个问题进行一次神奇而简单的修复,比如JTextField.don'tScaleVerticallyIdiot();
答案 0 :(得分:3)
您需要使用适当的布局管理器。
最强大的两个是MigLayout和FormLayout。我个人更喜欢MigLayout,因为它更容易直接使用,而FormLayout只适用于像WindowBuilder这样的窗口设计器。
两者都具有相似的特征。
使用MigLayout,您可以指定是否允许组件在特定轴上生长,如果允许,则应指定应提供何种权重(与其他组件的额外空间相反)。
答案 1 :(得分:2)
我认为您可以通过将BorderLayout设置为容器的LayoutManager来实现这一目标,因此:
答案 2 :(得分:2)
您没有提到您当前正在使用的LayoutManager
。
就个人而言,我会将GridBagLayout
用于您想要实现的目标。
答案 3 :(得分:1)
我想将它作为高度和水平刻度的单行,就像我拖动框架一样,但不添加多个JPanel。
我认为BoxLayout
PAGE_AXIS
可以做到这一点。