太自由 2016-05-26 08:22 采纳率: 0%
浏览 1277

Java布局管理器的相关问题

   在Java中,容器ScrollPane的默认布局管理器是BorderLayout

但是可以改变ScrollPane的布局管理器吗?
我的一个程序如下:

 import java.awt.Component;
import java.awt.Container;
import java.awt.Window;
import java.awt.ScrollPane;
import java.awt.TextComponent;
import java.awt.TextField;
import java.awt.Button;
import java.awt.LayoutManager;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
public class ScrollPaneTest 
{
    public static void main(String[] args) 
    {
        Frame f = new Frame("测试窗口");
        ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
        sp.setLayout(new FlowLayout());
        sp.add(new Button("单击我"));
        sp.add(new TextField(20));
        f.add(sp,BorderLayout.NORTH);
        f.setBounds(30,30,250,120);
        f.pack();
        f.setVisible(true);
    }
}
        可以编译通过,但是在运行过程中发生了异常,异常如下:
        ![图片说明](https://img-ask.csdn.net/upload/201605/26/1464250178_201633.png)

        请问这是不是说明,ScrollPane的布局管理器只能使用BorderLayout管理器,而不能使用其他的布局管理器呢?希望得到解惑。感谢!
  • 写回答

2条回答 默认 最新

  • 太自由 2016-05-26 08:35
    关注

    自己通过查看源码知道了原因,如下图源码所示:
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog