就是table 的列会变宽,但是高度不会变大

解决方案 »

  1.   

    用BorderLayout,列可以变宽,高度不会变。        JTable table = new JTable(p, n);
            table.setPreferredScrollableViewportSize(new Dimension(550, 30));
            //Create the scroll pane and add the table to it. 
            JScrollPane scrollPane = new JScrollPane(table);        //Add the scroll pane to this window.
            f.getContentPane().add(scrollPane, BorderLayout.CENTER);
                f.setTitle("Simple Table");
            f.pack();
      

  2.   

    JFrame yourFrame
    ............
    JPanel jPanelMain = new JPanel();
    BorderLayout borderLayout = new BorderLayout();
    JTable jTable = new JTable();yourFrame.setContentPane(jPanelMain);
    jPanelMain.setLayout(borderLayout);
    jPanelMain.add(jTable, BorderLayout.CENTER); // or BorderLayout.NORTH BorderLayout.xxxx
      

  3.   

    你可以在监听到 Frame 的大小改变之后,重新计算行/列的高/宽,再为表格重新设置。
    试试,不知道可不可行
      

  4.   

    我的意见和上面的一致我只能想到这样一步了
    你可以在监听到 Frame 的大小改变之后,重新计算行/列的高/宽,再为表格重新设置。
      

  5.   

    同意 jamesfancy()边城狂人(James Fancy) ;
    我也暂无办法。
      

  6.   

    你是否只是想Table的列高都有变化?
    还是还有其他组件?还有其他什么?
    说清楚点,或许今晚有时间可以帮你看看。
      

  7.   

    其他的普通的布局管理器可以实现,就是这个table的列高不能做出来。希望大家多多帮忙。分是有的。热情也是有的。希望大家多多参与。
    另外如果大家能用监测窗口大小的方法把代码公布出来给大家欣赏一下,让大家共同进步!
      

  8.   

    好像用gridlayout 可以啊?
    试试啊
      

  9.   

    真的吗?那谢谢这位大哥了。gridlayout不可以,我试过了。还有好心回贴吗?热情等待中~~~~~~~~~~~~
      

  10.   

    这个问题,在C++Builder是一个很小很小的问题,而在java中,好像没有这么一个类来完成此项功能,只能用那种笨办法去实现,根据Frame的大小去重新计算,定位....其他控件