很长一段时间以来,我一直在想何时使用 JFrame 和 JPanel。教科书、面对面和互联网搜索告诉我一些原因,但当然,我查看了 Java 文档才发现 JPanel 具有paintComponent(Graphics); 方法,它允许您指定对对象本身执行的操作,这与 JFrame 不同。此外,JPanels 是可嵌套的,允许比仅使用一个容器实现的更复杂的图形。我还偶然发现了 JLabel 也是一个容器的事实。(它甚至有一个奇怪的布局!)现在我的问题是:我应该什么时候使用 JLabel,什么时候应该使用 JPanel?
//我知道您可以将 JLabel 放在 JPanel 中,并且偶然发现 JPanel 比 JLabel 更昂贵。从长远来看,我计划制作一个收银游戏,其中包含一些轻量级的“钱”容器,当点击时,“钱”会移到客户的手上。我正在考虑将 JLabels 用于货币金额(美元钞票和硬币),并将 JPanel 用作交易的俯视图。我还在考虑在“货币标签”本身上调用 repaint() (据我了解,它可以模拟动画)。这是一个双重问题,但您认为这是最便宜的方法吗?