Canvas 和 JPanel 的区别

Difference between Canvas and JPanel

  1. 就图形而言,Canvas class 和 JPanel class 有什么区别?
  2. 这两个 class 有什么优点或缺点吗?
  3. 我一直用Canvasclass。我应该使用一个 class 而不是另一个吗?如果是,为什么?

有一些不同。 J面板:

  1. 是一个Container,所以你可以往里面添加其他的Components
  2. setBackground 会自动填充背景色
  3. 设置/添加工具提示
  4. 添加一个Border
  5. 用于打印的 printComponent

相当小的东西,但有时很重要

Canvas: AWT JPanel:摆动

Swing是基于AWT的,所以Canvas可以更轻量级和底层。

如果canvas满足您的所有要求,只需使用Canvas。

PS:我觉得用JPanel不会太贵,选你喜欢的就可以了