代码之家  ›  专栏  ›  技术社区  ›  thedude19

如何根据可用的可见空间调整特定组件的大小?

  •  2
  • thedude19  · 技术社区  · 16 年前

    在我的应用程序中,我的布局与下图类似:

    @@@@@@@
    XXXXXXX***

    XXXXXXX***
    %%%%%%%

    X 是一个JTable。其他组件可以保持相同的大小。是否有一个布局或策略将具有JTable( )根据可用的屏幕大小调整大小,并将所有其他内容正确地保留在侧面?

    3 回复  |  直到 16 年前
        1
  •  5
  •   Paul Clapham    16 年前

    在我看来,这很像一个边界布局。你试过了吗?

        2
  •  0
  •   unholysampler    16 年前

    它也可以通过GroupLayout完成,但它是为GUI构建者设计的,因为它非常冗长。因此,如果您已经有了现有的代码,您可能不想首先尝试它。

        3
  •  0
  •   Tony Eichelberger    16 年前

    JGoodies 表单布局。下面是使用FormLayout执行此操作的一种方法的一些示例代码。

        JPanel panel = new JPanel();        
        FormLayout layout = new FormLayout("100dlu, 20dlu:grow", "pref, pref, pref");
        panel.setLayout(layout);
    
        JTextField t1 = new JTextField();
        JTextField t2 = new JTextField();
        JTable tb = new JTable();
        JScrollPane sp = new JScrollPane();
        sp.setViewportView(tb);
    
        CellConstraints cc = new CellConstraints();
        panel.add(t1, cc.xy(1, 1));
        panel.add(t2, cc.xy(1, 3));
        panel.add(sp, cc.xyw(1, 2, 2));