| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 
 |  
package test;
 
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.util.*;
 
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */
public final class RenderPanel
    extends JPanel {
  public RenderPanel() {
    super();
    setPreferredSize(new Dimension(1000, 1000));
  }
 
  /** {@inheritDoc}
   */
  @Override protected void paintComponent(Graphics graphics) {
    super.paintComponent(graphics);
    Graphics2D g2d = (Graphics2D) graphics;
    g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
 
    Rectangle2D r2d = new Rectangle2D.Double(100,100,200,100); 
    Line2D l2d = new Line2D.Double(50,50,400,400); 
 
    Area a = new Area(r2d); 
    a.add(new Area(l2d)); 
    g2d.setColor(Color.BLACK);
    g2d.draw(a);
 
 
    GeneralPath path = new GeneralPath();
    path.append(r2d, false);
    path.append(l2d, false);
    g2d.translate(300, 0);
    g2d.setColor(Color.RED);
    g2d.draw(path);
    g2d.translate(-300, 0);
  }
 
  public static void main(String[] args) {
    JFrame frame = new JFrame("Test");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new BorderLayout());
    frame.add(new JScrollPane(new RenderPanel()));
    frame.pack();
    frame.setVisible(true);
  }
} | 
Partager