问题描述:
假设我写了一个可以动态生成Swing组件的类,并且每生成一个Swing组件,就马上使用add方法把这个Swing组件添加到已经建立好的JPanel对象中,使用JPanel对象建立JScrollPane对象,最后把JScrollPane对象添加到JFrame中结果:所有的添加在JPanel对象上的组件都是排列成了一行说明:如果我不用JScrollPane组件就不会出现这种情况问题:如何在使用了JScrollPane组件的情况让添加在JPanel对象上的组件可以换行

解决方案 »

  1.   

    试试setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER)
      

  2.   

    流式布局 是默认的布局方式
    不想用的话 要 setLayou(null)
      

  3.   

    先给JPanel设置好Layout,不然肯定会排成一行。你用gridlayout也行。
      

  4.   

    结贴很勉强啊。不是很理解你的需求,还可以用BoxLayout,Y_AXIS。
      

  5.   

    这贴很有意义,因为我也遇到同样的问题了,我设了一个JPanel的布局为gridlayout, 并且在上面加了几个按钮,然后通过getViewport().setView(), 想在一个JScrollPanel,结果控件还是流式排列,昏死!!