Switch to full style
General Java code examples
Post a reply

Area clipping

Tue Nov 11, 2008 5:26 pm

Area clipping java code
Code:
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.border.TitledBorder;

public class ClipAreaExample extends JFrame {
  Canvas1 canvas;
  JButton button1, button2;
    public ClipAreaExample() {
    super("Clip Area");
    Container contentPane = getContentPane();
    canvas = new Canvas1();
    contentPane.add(canvas);
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(1, 2));
    button1 = new JButton("Clip1");
    button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
        canvas.clip1 = true;
        canvas.clip2= false;
        canvas.repaint();
      }
    });
    button2 = new JButton("Clip2");
    button2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
        canvas.clip2 = true;
        canvas.repaint();
      }
    });
    ButtonGroup buttonGroup = new ButtonGroup();
    buttonGroup.add(button1);
    buttonGroup.add(button2);
    panel.add(button1);
    panel.add(button2);
    contentPane.add(BorderLayout.SOUTH, panel);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent event) {
        System.exit(0);
      }
    });
    setVisible(true); 
  
}
  public static void main(String arg[]) {
    new ClipAreaExample();
  }
}
class Canvas1 extends JPanel{
  boolean clip1 = true;
  boolean clip2 = false;
  Canvas1() {
    setSize(450, 400);
    setBackground(Color.white);
  }
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    int wi = getSize().width;
    int ht = getSize().height;
    if (clip1) {
      Rectangle2D rectangle = new Rectangle2D.Double(wi / 4.0f,
       ht / 4.0f, wi / 2.0f,ht / 2.0f);
      g2d.setClip(rectangle);
      g2d.setColor(Color.cyan);
      g2d.fillRect(0, 0, wi, ht);
    }
  if (clip2) {
      Rectangle rect = new Rectangle(wi / 2, ht / 2, wi / 2, ht / 2);
      g2d.clip(rect);
      g2d.setColor(Color.red);
      g2d.fillRect(0, 0, wi, ht);
    }
  }
}
 



Attachments
clipArea1.gif
Output will be displayed as:
clipArea1.gif (6.08 KiB) Viewed 5887 times
clipArea2.gif
On clicking clip2 button, a rectangle is shown inside the rectangular area:
clipArea2.gif (6.24 KiB) Viewed 5887 times

Post a reply
  Related Posts  to : Area clipping
 Java- Copy text area into disabled text area     -  
 java Clipping     -  
 Cohen clipping on J2me     -  
 compute area of the circle.     -  
 Calculate the area of a circle of given radius     -  
 play a sound when the user enters the area- audio feedback     -  
 Two Listeners- Mutli- Action Listeners on Text Area     -  

Topic Tags

Java Graphics, Java AWT