2013-04-18 32 views
-2

據我所知add方法的語法是BorderLayout的正確語法

add(Component , String); 

前。

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

但我在一個類中看到了add方法的語法,並且它傳遞了編譯過程。

add(String , Component); 

,這是下面的加入方法:

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

有人可以解釋我在這裏發生了什麼,如果是這樣去工作,爲什麼?

+0

你檢查過API嗎? – PermGenError

+0

「如果這個工作正常」你試過了嗎? – Aboutblank

+0

我嘗試過,但它工作,但我不知道它爲什麼工作 – user1809300

回答

3

已在Java文檔所示,容器類有5 different add() methods overloads

在第一個例子中,BorderLayout.NORTH是常數限定在容器中的部件的位置。

在第二個示例中,「North」是您給組件的名稱。

1

方法add(Component , Object);添加了一個組件,同時在第二個參數中指定了限制條件。 BorderLayout類使用String實例作爲約束,但其他佈局使用其他對象類型。例如,GridBagLayout使用GridBagContraints的實例。

方法add(String , Component);添加一個名稱爲第一個參數的組件。