我想问下比如我设置了4行4列,我想把一二行合并,第四行的一二列合并,有方法么 ?就像word的表格的分拆合并一样~

解决方案 »

  1.   

    swt是完全可以的,swing没用过
      

  2.   

    可以分几个写嘛,不要合并的写成一个JPanel,然后写成4行一列的,在需要位置插入JPanel就好了
      

  3.   


    //不用网格布局 用JSplitPane 可以切分窗口 将窗口水平或者垂直切割 嵌套使用就可以达到目标
    javax.swing 
    类 JSplitPane
    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JSplitPane
    所有已实现的接口: 
    ImageObserver, MenuContainer, Serializable, Accessible --------------------------------------------------------------------------------public class JSplitPaneextends JComponentimplements AccessibleJSplitPane 用于分隔两个(只能两个)Component。两个 Component 图形化分隔以外观实现为基础,并且这两个 Component 可以由用户交互式调整大小。有关如何使用 JSplitPane 的信息,请参阅 The Java Tutorial 中的 How to Use Split Panes 一节。 使用 JSplitPane.HORIZONTAL_SPLIT 可让分隔窗格中的两个 Component 从左到右排列,或者使用 JSplitPane.VERTICAL_SPLIT 使其从上到下排列。改变 Component 大小的首选方式是调用 setDividerLocation,其中 location 是新的 x 或 y 位置,具体取决于 JSplitPane 的方向。 要将 Component 调整到其首选大小,可调用 resetToPreferredSizes。 当用户调整 Component 的大小时,Component 的最小大小用于确定 Component 能够设置的最大/最小位置。如果两个组件的最小大小大于分隔窗格的大小,则分隔条将不允许您调整其大小。改变 JComponent 最小大小,请参阅 JComponent.setMinimumSize(java.awt.Dimension)。 当用户调整分隔窗格大小时,新的空间以 resizeWeight 为基础在两个组件之间分配。默认情况下,值为 0 表示右边/底部的组件获得所有空间,而值为 1 表示左边/顶部的组件获得所有空间。 
    JSplitPane
    public JSplitPane(int newOrientation,
                      boolean newContinuousLayout)创建一个具有指定方向和重绘方式的新 JSplitPane。 参数:
    newOrientation - JSplitPane.HORIZONTAL_SPLIT 或 JSplitPane.VERTICAL_SPLIT //水平和垂直分割
    newContinuousLayout - 一个 boolean 值,当分隔条改变位置时组件连续重绘则为 true;当分隔条位置停止改变时才重绘则为 false 
    抛出: 
    IllegalArgumentException - 如果 orientation 不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一