正如标题中所描述的那样,我一直试图设置一种带有水平滚动的垂直流布局.布局中的组件将是JLabel.让我画一幅画:
+-------------------------+ <--- window
|Label1 Label4 Label7|
|Label2 Label5 Label8| <--- labels
|Label3 Label6 Label9|
|<===============>========| <--- scrollbar
+-------------------------+
Run Code Online (Sandbox Code Playgroud)
同一窗口,垂直扩展
+--------------------------+ <--- window
|Label1 Label5 Label9 |
|Label2 Label6 Label10| <--- labels
|Label3 Label7 Label11|
|Label4 Label8 Label12|
|<===================>=====| <--- scrollbar
+--------------------------+
Run Code Online (Sandbox Code Playgroud)
因此,标签将填充可用的垂直空间,然后创建一个新列.一旦可用的水平空间耗尽,就会出现水平滚动条.
通常不应出现垂直滚动条; 但是,如果窗口的垂直高度非常小,那么有一个垂直滚动条会很不错.
任何帮助是极大的赞赏.我是Java的新手,所以任何额外的解释都会很精彩.谢谢!
编辑:
根据以下回复,我现在正在使用:http: //tips4java.wordpress.com/2008/11/06/wrap-layout/ 和 http://code.google.com/p/verticalflowlayout/
我有WrapLayout扩展VerticalFlowLayout:
package LogicSim;
import java.awt.*;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
/**
* FlowLayout subclass that fully supports wrapping of components.
*/
public class VerticalWrapLayout extends VerticalFlowLayout …Run Code Online (Sandbox Code Playgroud)