-2

据我所知 add 方法的语法是

add(Component , String); 

前任。

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

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

add(String , Component);

它是下面的添加方法:

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

有人可以解释一下这里发生了什么,这是否可行,为什么?

4

2 回答 2

3

已在 Java Doc 中显示,Container 类有5 个不同的 add() 方法重载

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

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

于 2013-04-18T13:31:25.833 回答
1

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

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

于 2013-04-18T13:36:28.020 回答