画面に楕円や四角形を表示したい場合、canvas と JPanel のどちらを使用すればよいですか?
違いはなんですか?それぞれいつ使用するのですか?
Canvas
AWT オブジェクトです。JPanel
軽量の Java Swing オブジェクトです。Java Swing GUI をお持ちの場合は、 を使用することを強くお勧めしJPanel
ます。
JPanelの良いリンクは次のとおりです。
最も単純なケースでは、 を と
JPanel
まったく同じように使用しますPanel
。それを割り当て、その中にコンポーネントをドロップしてJPanel
から、いくつかに を追加しますContainer
。ただし、JPanel
代替としても機能しますCanvas
(ありませんJCanvas
)...
一般に、Swing を使用している場合は、Swing コンポーネントのみを使用する必要があります。同じ GUI で Swing コンポーネントと AWT コンポーネントを混在させると、奇妙な結果が生じます。したがって、JPanel、または生の JComponent を使用します。
または、アイコンJLabel
などの静止画像を表示する場合は、を使用できます。
BufferedImage image=
new BufferedImage(100, 50, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.createGraphics();
// draw
g2.draw(new Ellipse2D.Double(x, y, rectwidth,rectheight));
g2.fill (new Ellipse2D.Double(0, 0, 100, 50));
JLabel label = new JLabel(new ImageIcon( image ));