Java 示例 - 检查抗锯齿的状态

  • 问题描述

    如何检查是否启用了抗锯齿功能?
  • 解决方案

    以下示例演示了如何使用 RenderingHints 类检查是否打开了抗锯齿。
    
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    public class Main {
       public static void main(String[] args) {
          JFrame frame = new JFrame();
          frame.add(new MyComponent());
          frame.setSize(300, 300);
          frame.setVisible(true);
       }
    }
    class MyComponent extends JComponent {
       public void paint(Graphics g) {
          Graphics2D g2 = (Graphics2D) g;
          RenderingHints rh = g2.getRenderingHints();
          boolean bl = rh.containsValue (RenderingHints.VALUE_ANTIALIAS_ON);
          System.out.println(bl);
          g2.setRenderingHint(
             RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
       }
    }
    
  • 结果

    上面的代码示例将产生以下结果。
    
    False
    False
    False