有什么方法可以控制Swing组件的缩放?

时间:2012-09-11 21:24:41

标签: java swing user-interface jframe scale

我试图使我的Swing组件不能垂直缩放,也不能水平缩放,反之亦然(换句话说,我只希望它们有一个自由轴。在某些情况下,它们可以水平缩放,或垂直于其他人。)

在没有添加大量JPanel的情况下,有没有优雅的方法呢?

LE:我不想对我收到的已经制作的布局做任何重大修改。

我希望能够对这个问题进行一次神奇而简单的修复,比如JTextField.don'tScaleVerticallyIdiot();

4 个答案:

答案 0 :(得分:3)

您需要使用适当的布局管理器。

最强大的两个是MigLayoutFormLayout。我个人更喜欢MigLayout,因为它更容易直接使用,而FormLayout只适用于像WindowBuilder这样的窗口设计器。

两者都具有相似的特征。

使用MigLayout,您可以指定是否允许组件在特定轴上生长,如果允许,则应指定应提供何种权重(与其他组件的额外空间相反)。

答案 1 :(得分:2)

我认为您可以通过将BorderLayout设置为容器的LayoutManager来实现这一目标,因此:

答案 2 :(得分:2)

您没有提到您当前正在使用的LayoutManager

就个人而言,我会将GridBagLayout用于您想要实现的目标。

答案 3 :(得分:1)

  

我想将它作为高度和水平刻度的单行,就像我拖动框架一样,但不添加多个JPanel。

我认为BoxLayout PAGE_AXIS可以做到这一点。