前回、前々回とシェイプの紹介を行ってきました。今回はシェイプと同じような描画機能を持つキャンバスについて取り上げます。 シェイプでは丸や四角をノードのサブクラスとして表すのに対し、キャンバスは丸や四角の描画を手続き的に記述していくという違いがあります。いうなれば、Java 2D的な描画ということができます。 シェイプでは描画要素がオブジェクトに分かれており、個々のシェイプに対してエフェクトなどを施すことも可能です。また、マウスクリックのようなイベントも扱うことができます。その反面、シェイプの数が増えてくると、パフォーマンスも落ちてしまいます。 これに対し、キャンバスは個々の描画要素を単体で扱うことはできません。このため、描画要素ごとにエフェクトを施すこともできませんし、イベントを扱うのも大変です。また、手続き的に書かなくてはいけないため、FXMLでは記述できないという欠点もあります。 しか
![JavaFX 2ではじめる、GUI開発 第17回 キャンバス](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)