【问题标题】:BorderLayout correct syntaxBorderLayout 语法正确
【发布时间】:2013-04-18 13:24:52
【问题描述】:

据我所知 add 方法的语法是

add(Component , String); 

例如

add(new Button("North"), BorderLayout.NORTH);

但我在一个类中看到了 add 方法的语法,它通过了编译过程。

add(String , Component);

它是下面的添加方法:

add("North", new Button("North")); 

谁能解释一下这里发生了什么,这是否可行以及为什么?

【问题讨论】:

  • 你检查API了吗???
  • “如果这行得通”你试过了吗?
  • 我试过了,但我不知道为什么会这样

标签: java swing syntax border-layout


【解决方案1】:

在Java Doc中已经显示,Container类有5 different add() methods overloads

在您的第一个示例中,BorderLayout.NORTH 是一个常量,用于定义组件在容器中的位置。

在您的第二个示例中,“North”是您为组件指定的名称。

【讨论】:

    【解决方案2】:

    add(Component , Object); 方法添加了一个组件,其约束在第二个参数中指定。 BorderLayout 类使用 String 实例作为约束,但其他布局使用其他对象类型。例如,GridBagLayout 使用 GridBagContraints 的实例。

    add(String , Component); 方法添加了一个组件,其名称作为第一个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 2019-11-26
      • 1970-01-01
      • 2017-06-22
      • 2011-08-21
      • 2016-12-28
      相关资源
      最近更新 更多