我有一个用 Java 编写的简单 GUI 组件。该类在 java.awt.canvas 中绘制模拟时钟。
然后,该 Canvas 包含在 JFrame 中 - 我想要做的是为 Canvas 提供 3D“凸起”效果 - 几乎就像向照片添加阴影一样。
有没有简单的方法可以做到这一点?
最佳答案
如果您使用 JFrame,那么您有两个选择:
首先将您自己的组件添加到 JPanel,然后将其添加到 JFrame。
您可以从 JComponent 继承,而不是从 java.awt.Canvas 继承。然后你必须在paintComponent()方法中完成所有的绘画,而不仅仅是paint()(你可以重命名当前的绘画方法)。
在这两种情况下,您现在都可以使用从 BorderFactory 获取的 setBorder() 方法(在 JPanel 或您的组件上)设置边框。
另请参阅:How to Use Borders
关于java - 如何使 Java Canvas 看起来从其容器中升起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199575/