コンポーネントを実装する方法は二つあります。一つはorg.zkoss.zk.ui.AbstractComponentクラスから得られるクラスを実装します。もう一つは他のコンポーネントを使うことで実装します。
一番目の方法はより柔軟です。しかし、それを使うのに、より深くZKを理解する必要があります。ですから、この方法を使っているのは大抵コンポーネントの開発者です。詳しくはComponent Development Guideをご覧ください。
一 方で、他のコンポーネントを使用した新しいコンポーネントの実装は直観的です。それは、組み立て、マクロ拡張またはインライン取替えのように動作します。 便宜上、このタイプのコンポーネントをマクロコンポーネントと呼びます。このタイプでないコンポーネントをプリミティブコンポーネントと呼びます。
【ヒント】:アプリケーション開発者の視点から見ると、実装の仕方を除いて、マクロコンポーネントとプリミティブコンポーネントに違いはありません。