java - 如何使 Java Canvas 看起来从其容器中升起

标签 java user-interface canvas awt

我有一个用 Java 编写的简单 GUI 组件。该类在 java.awt.canvas 中绘制模拟时钟。
然后,该 Canvas 包含在 JFrame 中 - 我想要做的是为 Canvas 提供 3D“凸起”效果 - 几乎就像向照片添加阴影一样。 有没有简单的方法可以做到这一点?

最佳答案

如果您使用 JFrame,那么您有两个选择:

  1. 首先将您自己的组件添加到 JPanel,然后将其添加到 JFrame。

  2. 您可以从 JComponent 继承,而不是从 java.awt.Canvas 继承。然后你必须在paintComponent()方法中完成所有的绘画,而不仅仅是paint()(你可以重命名当前的绘画方法)。

在这两种情况下,您现在都可以使用从 BorderFactory 获取的 setBorder() 方法(在 JPanel 或您的组件上)设置边框。

另请参阅:How to Use Borders

关于java - 如何使 Java Canvas 看起来从其容器中升起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199575/

相关文章:

javascript - Canvas 未在reactjs中渲染

javascript - 将属性添加到 Grape Js 中的子元素?

java - 使用 servlet 从 mysql 检索数据的空指针异常

java - 在 HTTPS/SSL 中使用 RedirectView 后 Spring 的 SecurityContextHolder.getContext().getAuthentication() 返回 null

ios - 如何在标题中制作搜索栏?

eclipse - 用户体验设计师需要编程知识吗?

javascript - HTML5 JavaScript : canvas context draw raster in for loop

java - 如何在基于 Spring 的 Web 服务上提供图像

java - 如何控制每个区域服务器读取 HBase 表的映射器数量

java - 使用 Java 的数独 GUI