java - Swing 中 AA 和插值的全局渲染提示

标签 java swing java-2d antialiasing graphics2d

我正在重写之前在一个大 Canvas ( a fullscreen wallboard ) 上手动布局和渲染的应用程序以使用 Swing,但我在渲染文本和缩放图像时遇到了一些质量问题。

在旧应用程序中,我的渲染方法只是在绘制整个屏幕之前启用了 Graphics2D 对象上的一些设置:

g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

但在新版本中,绘图分布在各个组件上,没有 1 个根方法。那么我怎样才能在 Swing 中做同样的事情呢?

最佳答案

我相信所有子组件都从其父组件获取其 Graphics 对象。因此,如果您在其 paint 方法(如果父组件不需要设置其渲染提示,则在其 paintChildren 方法)中设置父 Graphics 对象的渲染提示然后调用 super 方法,它可能会起作用。您不会希望对整个 GUI 执行此操作,因为它会减慢渲染速度。

关于java - Swing 中 AA 和插值的全局渲染提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954121/

相关文章:

java - 如何制作(keyPressed)KeyListener?

java - 使用特定字符串调用的测试方法

java - paint(Graphics g) 函数被调用但我不知道在哪里?

java - JPanel 改变颜色以用鼠标绘制

java - 如何在 Quaqua 中获得统一的工具栏?

java - 如何确保在 JFrame 上随机位置绘制的点不会与已绘制的形状重叠?

java - 移动已绘制的椭圆

java - Eclipse 仅应用一种格式规则

java - 使用 for 循环创建多个数组

java - TextField 中的负数错误