Drawing without paintComponent(Graphics g)

Hi to all,
I use paintComponent(Graphics g) to draw particular rectangles on the screen, then i add some event to these rectangles. So far so good.I handle the mouse click from -->
public void mouseClicked(MouseEvent e){
// handling goes here
But an important part of my handling is to also draw something on the screen.
How can i do that from the mouseClicked method? Can i draw without using paintComponent(...)?
I mean that, once the paintComponent(...) method finishes, how can i still draw something on the screen?
Thanks,
John.

You can use
Graphics gg = component.getGraphics();
gg.draw ....
but it will be cleared in the paintComponent method
Look at this sample, the red rectangle will show up when the mouse
is presses, and gone when the mouse will be released.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
public class Shapes extends JFrame
     DPanel pan = new DPanel();
public Shapes()
     addWindowListener(new WindowAdapter()
          public void windowClosing(WindowEvent ev)
               dispose();
               System.exit(0);
     setBounds(10,10,400,350); 
     setContentPane(pan);
     setVisible(true);
public class DPanel extends JPanel implements MouseListener
     Vector shapes = new Vector();
     Shape  cs;
public DPanel()
     addMouseListener(this);
     shapes.add(new Rectangle(20,20,100,40));
     shapes.add(new Rectangle(40,80,130,60));
     shapes.add(new Line2D.Double(20,150,200,180));
public void paintComponent(Graphics g)
     super.paintComponent(g);
     Graphics2D g2 = (Graphics2D)g;
     for (int j=0; j < shapes.size(); j++)
          g2.draw((Shape)shapes.get(j));
     g.setColor(Color.red);
     if (cs != null) g2.draw(cs);
public void mouseClicked(MouseEvent m) {}
public void mouseEntered(MouseEvent m) {}
public void mouseExited(MouseEvent m)  {}
public void mouseReleased(MouseEvent m)
     repaint();
public void mousePressed(MouseEvent m)
     for (int j=0; j < shapes.size(); j++)
          Shape s = (Shape)shapes.get(j);
          Rectangle r = new Rectangle(m.getX()-1,m.getY()-1,2,2);
          if (s.intersects(r))
               cs = s;
               Graphics g = getGraphics();
               g.setColor(Color.red);
               g.fillRect(r.x-5,r.y-5,10,10);
public static void main (String[] args) 
      new Shapes();
}

Similar Messages

  • Drawing with paintComponent(Graphics g) problem?

    hey, i just recently learnt from a response to previous posts not to put logic type stuff like if statements in the paintComponent method, but how do i get around the issue of drawing something different based on a boolean expression?
    i want to be able to do something like,
    paintComponent(Graphics g) {
          if(drawCircle == true) {
              g.drawCircle(....)
         }else{
              g.drawRectangle(......)
    }Yes, i know i shouldn't do that as i said i've been told NEVER to do this, but how do i work around this issue?
    thanks

    hey, i just recently learnt from a response to previous posts not to put logic type stuff like if statements in the paintComponent method, but how do i get around the issue of drawing something different based on a boolean expression?If you refer to that [my reply in your former thread|http://forums.sun.com/thread.jspa?messageID=10929900#10929900] , note that I warned you against putting business logic (+if (player.hasCollectedAllDiamonds()&&timer.hasNotTimedOut()&&allEnnemies.areDead()) { game.setState(FINISHED);}+) into your paintComponent(...) method, I didn't ask you to ban logic altogether (+if (player.hasCollectedAllDiamonds()) { Graphics.setColor(Color.GREEN); }+)
    EDIT: Oh, how pretentious I was; obviously you merely refer to [this Encephalopathic's post|http://forums.sun.com/thread.jspa?messageID=10929668#10929668], who warns against program logic in paint code; same misunderstanding though, he certainly only meant that the paintXXx's job is not to determine whether the game is over, only to render the game state (whichever it is, it has been determined somewhere else, not in painting code).

  • About draw GIF in "paintComponent(Graphics)" Method ???

    I extends a new class A from JPanel and overwrite the method of "paintComponent(Graphics)", the code is like below:
    public void paintComponent(Graphics g)
      super.paintComponent(g);
      // imgObj is a GIF file.
      g.drawImage(imgObj, 100, 100, this);
    }it's OK, the GIF can be show like a movie.
    but if the code in an other class B, and invoke in A.paintComponent method, it can not show like a movie, it only show a static frame. Code like below:
    public void paintComponent(Graphics g)
      super.paintComponent(g);
      bClassObj.drawGIF(g);
    public class B
      public void drawGIF(Graphics g)
        g.drawImage(imgObj, 100, 100, this);
    } WHY !!!!???

    I try it OK...
    the last parameter of method drawImage() in B must be point to instance of A.

  • Class A extends B- where is paintComponent(Graphics) supposed to paint?

    Hi,
    i have the following problem: I thought ControlPanel.paintComponent(Graphics) was supposed to paint the GraphArea (since ConrolPanel.paintComponent(Graphics) overrides GraphAreaExtension.paintComponent(Graphics) ), but lines AND vertices appear on the ControlPanel. Any ideas?
    import ...
    public class GraphAreaExtension extends JPanel
        public int clickCounter;  //how many clicks have been performed, ie
                                    //how many vertices have been painted
        public int clickedX;
        public int clickedY;
        public Point[] darray;
        public GraphAreaExtension()
            setBorder(BorderFactory.createTitledBorder("Graph Area"));
            setPreferredSize(new Dimension(640, 450)); 
            setMaximumSize(new Dimension(640, 450));
            clickCounter=0;
            darray=new Point[8];
            clickedX=-50;
            clickedY=-50;      
            initializeDarray();
            addMouseListener(new MouseAdapter()
               public void mouseClicked (MouseEvent e)
                    clickCounter++;
                    if (clickCounter<=8)
                        clickedY=e.getY();               
                        clickedX=e.getX();
                        darray[clickCounter-1]=new Point(clickedX, clickedY);
                        System.out.print("Click counter "+clickCounter+" ");                   
                        System.out.println("Mouse clicked X: "+clickedX+" Y:"+clickedY);
                        repaint();
                        validate();
        }//GraphAreaExtension constructor
        public void paintComponent(Graphics g)
            System.out.println("paint vertex...");
            g.drawOval(clickedX,clickedY, 25,25);
            g.drawString(getVertexName(clickCounter),clickedX+11, clickedY+15);
            printDarray();
        private static String getVertexName(int num)
            num=num+96;
            char c=(char)num;
            String s=String.valueOf(c);
            return s.toUpperCase();
        private void initializeDarray()
            for (int i=0; i<darray.length; i++)
                darray=new Point(0,0);
    public void printDarray()
    for (int i=0; i<darray.length;i++)
    System.out.print(darray[i].getX()+"\t");
    System.out.println();
    for (int i=0; i<darray.length;i++)
    System.out.print(darray[i].getY()+"\t");
    System.out.println();
    import ...
    /*  This is the Control Panel. 3 kinds of visual objects exist here:
    *  -the JCheckBoxes, which indicate the incoming connections: in1-in8
    *  -the JCheckBoxes, which indicate the outcoming connections: out1-out8
    *  -the "Enter" button, which when pressed updates the in/out-coming
    *   connections -graphically designs the edges, between the vertices.
    *  The data taken from the in/out-coming JCheckBoxes are stored inside
    *  2 boolean arrays respectively: inCon and outCon.
    public class ControlPanel extends GraphAreaExtension implements ItemListener
        JPanel controlPanel;
        JButton jb;
        boolean[] inCon;
        boolean[] outCon;
        JCheckBox in1, in2, in3, in4, in5, in6, in7, in8;
        JCheckBox out1, out2, out3, out4, out5, out6, out7, out8;
        public ControlPanel()
            inCon= new boolean[8];
            outCon= new boolean[8];
            initializeBooleanTable(inCon);
            initializeBooleanTable(outCon);             
            setPreferredSize(new Dimension(800,150));
            setBackground(Color.LIGHT_GRAY);                  
            setBorder(BorderFactory.createTitledBorder("Connections"));
            setPreferredSize(new Dimension(120, 150));                   
            setMaximumSize(new Dimension(120, 150));
            JLabel in= new JLabel("Incoming connections");
            add(in);
            in1=new JCheckBox("A");
            in1.addItemListener(this);
            add(in1);
            in4=new JCheckBox("D");
            in4.addItemListener(this);
            add(in4);
            in8=new JCheckBox("H");
            in8.addItemListener(this);
            add(in8);
            JLabel out= new JLabel("Outcoming connections");
            add(out);          
            out1=new JCheckBox("A");
            add(out1);      
            out1.addItemListener(this);
            out3=new JCheckBox("C");           
            add(out3);  
            out3.addItemListener(this);
            out8=new JCheckBox("H");           
            add(out8);      
            out8.addItemListener(this);
            initializeCheckbox();
           /*  pressing the Enter button, the data concerning the connections,
            *  which the user has entered are transformed into edges between the
            * vertices.
            *  Incoming edges: Green and Outcoming: Red
            jb= new JButton("Enter");
            add(jb);
            jb.addActionListener(new ActionListener()
                public void actionPerformed(ActionEvent e)
                    printConnectionArrays();
                    repaint();
                    validate();
        }//ControlPanel constructor
        public void paintComponent(Graphics g)
            System.out.println("paint edge...");
            for (int i=0; i<darray.length; i++)
                if (inCon==true)
    System.out.println("Entered incoming edges condition for node num "+ (i+1));
    g.drawLine(clickedX,clickedY,(int)darray[i].getX(), (int)darray[i].getY());
    System.out.println("baseX "+clickedX+" baseY "+clickedY+" destX "+(int)darray[i].getX()+" destY "+(int)darray[i].getY());
    g.setColor(Color.GREEN);
    if (outCon[i]==true)
    System.out.println("Entered outcoming edges condition for node num "+ (i+1));
    g.drawLine(clickedX, clickedY,(int)darray[i].getX(), (int)darray[i].getY());
    System.out.println("baseX "+clickedX+" baseY "+clickedY+" destX "+(int)darray[i].getX()+" destY "+(int)darray[i].getY());
    g.setColor(Color.RED);
    }//END for
    initializeCheckbox();
    initializeBooleanTable(inCon);
    initializeBooleanTable(outCon);
    /******************************Helper***Functions***************************/
    /* unchecks Checkboxes for next use
    public void initializeCheckbox()
    in1.setSelected(false); out1.setSelected(false);
    in8.setSelected(false); out8.setSelected(false);
    public void itemStateChanged(ItemEvent e)
    System.out.println("Entered ItemStateChanged()...");
    Object source = e.getItemSelectable();
    if (source.equals(in1)) inCon[0]=true;
    else if (source.equals(in2)) inCon[1]=true;
    else if (source.equals(in8)) inCon[7]=true;
    if (source.equals(out1)) outCon[0]=true;
    else if (source.equals(out2)) outCon[1]=true;
    else if (source.equals(out8)) outCon[7]=true;
    public void printConnectionArrays()
    System.out.print("Incoming ");
    for (int i=0; i<darray.length; i++)
    System.out.print(inCon[i]+" ");
    System.out.print("Outcoming ");
    for (int i=0; i<darray.length; i++)
    System.out.print(outCon[i]+" ");
    System.out.println();
    public static void initializeBooleanTable(boolean[] t)
    for (int i=0; i<t.length-1; i++)
    t[i]=false;

    I've not a clue which is faster, but from an OO point of view--the object should know how to draw itself.

  • Calling paintComponent(Graphics g) in another class

    Dear Friends,
    I have a class (Class Pee) where I implemented the paintComponent(Graphics g) and another class (Class Bee) where I generate some datas. My intention is to call the paintComponent(Graphics g) method in class Pee at class Bee to make use of the generated data to draw some figures.
    I imported java.awt .Graphics, java.awt.Graphics2D, Polygon and geom and declared Graphics2D g2d = (Graphics2D) g; as well, but still when I call paintComponent (Graphics g) it fails to recognize the g. What is actually wrong.
    See code:
    Class Pee
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Polygon;
    import javax.swing.JPanel;
    public class Pee extends JPanel{
    private int offset;
    public void paintComponent(Graphics g, int b[], int c[]){
    super.paintComponent(g);
    Graphics2D g2D = (Graphics2D) g;
    this.setBackground(Color.white);
    Class Bee
        import java.io.*;
        import java.util.*;
        import java.awt.Graphics;
        import java.awt.Graphics2D;
        import java.awt.geom.*;
        import java.awt.Polygon;
       import Graphic.Pee; //importing Pee Class
    public class Bee{
    int x[];
    int y[];
    // other variable declaration
    public Bee{
    x = new int [5];
    y = new int [5];
    Pee dr = new Pee();
    Graphics2D g2d = (Graphics2D) g;
    //code to generate data
    dr.paintComponent(g,x,y);
    }It always say that "g" cannot be resolved. Please how do I get over this.
    Thanks,
    Jona_T

    Swing calls the paintComponent method when we ask a component to draw itself. We do this by
    calling its repaint method. So the general approach is to change the data in the component
    that does the graphics for us and then ask the component to repaint itself. Swing does the
    rest. One benefit of this way of doing things is that the graphic component keeps the data
    and can render all or any part of it at any time. Trying to get a reference to the
    components graphics context from within another class and using it to draw graphics in the
    graphics component prevents this and the foreign class event code can never know when the
    graphics component needs to be re&#8211;rendered.
    So the idea is to keep the graphics/rendering component independent from the event code. The
    event code controls the state (member variables) in the graphics component and tells it when
    to re&#8211;render itself.
    There are a lot of (creative) ways of putting these things together. Here's an example.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.util.Random;
    import javax.swing.*;
    public class CallingGraphics implements ActionListener {
        GraphicComponentClass graphicComponent;
        DataGenerationClass   dataGenerator = new DataGenerationClass();
        public void actionPerformed(ActionEvent e) {
            Point2D.Double[] data = dataGenerator.getData();
            graphicComponent.setData(data);
        private JPanel getGraphicComponent() {
            graphicComponent = new GraphicComponentClass();
            return graphicComponent;
        private JPanel getLast() {
            JButton button = new JButton("send data to graphics");
            button.addActionListener(this);
            JPanel panel = new JPanel();
            panel.add(button);
            return panel;
        public static void main(String[] args) {
            CallingGraphics test = new CallingGraphics();
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(test.getGraphicComponent());
            f.getContentPane().add(test.getLast(), "Last");
            f.setSize(400,300);
            f.setLocation(200,200);
            f.setVisible(true);
    class GraphicComponentClass extends JPanel {
        Ellipse2D.Double[] circles = new Ellipse2D.Double[0];
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            for(int j = 0; j < circles.length; j++) {
                g2.draw(circles[j]);
        public void setData(Point2D.Double[] p) {
            double w = getWidth();
            double h = getHeight();
            double dia = 75.0;
            circles = new Ellipse2D.Double[p.length];
            for(int j = 0; j < circles.length; j++) {
                double x = p[j].x*(w - dia);
                double y = p[j].y*(h - dia);
                circles[j] = new Ellipse2D.Double(x,y,dia,dia);
            repaint();
    class DataGenerationClass {
        Random seed = new Random();
        public Point2D.Double[] getData() {
            int n = seed.nextInt(25);
            Point2D.Double[] locs = new Point2D.Double[n];
            for(int j = 0; j < n; j++) {
                double x = seed.nextDouble();
                double y = seed.nextDouble();
                locs[j] = new Point2D.Double(x, y);
            return locs;
    }

  • Using paintComponent(Graphics g)

    Hi,I need to know how to put a square to the screen using the paintComponent(Graphics g). The square must be put into the shapesArrayList. I know how to get a square to the screen but ive been asked to put it into the shapesArrayList.
    Tried a few things but im stumped!
    Any help would be great!
    Peter
    public void paintComponent(Graphics g){
    super.paintComponents(g);
    Shape nextShape;
    Iterator shapesIterator = shapesArrayList.iterator();
    while(shapesIterator.hasNext())
    nextShape = (Shape) shapesIterator.next();
    nextShape.draw(g);
    are to the panel in this class

    Never mind, it was just something I was doing wrong.

  • Adobe Reader drawing without Comment Tools or Method to set "Make Properties Default" without popup

    Hi everyone,
    Spending a few days to find a solution for drawing lines, polylines, polygons, circles, rectangles, etc. It looks like a "dead end" since I want to develop a plugin for Adobe Reader that can draw custom Lines, Polylines, Polygons, ... (objects I can set my styles without using built-in style dialog). I want to use my custom dialog to set styles and do drawing without using Comment Tools. The problem is: when I use AVPageViewDrawingProc callback, I can draw only rectangle, polyline, polygon, no way to draw circle, text, etc.
    Another solution is to use Comment Tools. But when changing between tools I want to apply my styles to the tool (line color, text color, text size, ...), like the way you right click on an annotation and select "Properties", then mark "Make Properties Default" as checked before selecting "OK". I don't want to show the dialog to confuse user when he changes tools. So, is there any API method to help me selecting an annotation and mark this selected annotation to be default styles?
    I still can't find a way to change text size of FreeText realtime.
    Anybody can help me?
    Kind Regards

    If I were building something like this, I would have my plugin create custom annotations.  You can draw whatever you want in the appearance of the annotation.

  • Drawing with a graphics tablet in Flash

    Hey community!
    I recently got the newest version of Flash and wanted to do some drawing with my graphics tablet, but whenever i try to draw a freehand line, using the pencil or paintbrush tool, then for some reason, it draws a straight line leading to the bottom left side of the screen, and i have no idea why it is doing this.
    When i use the tablet to draw in Photoshop, then it works absolutely fine, but not in Flash
    Any help will be lovely!!
    Thank you

    Hi,
    The issue is resolved in the latest update of Flash Pro.Please update Flash professional to 14.1.0.96 .Follow the instruction below for the same :
    Installation instructions
    Log out and log in to the CC desktop application. Update the application when prompted.
    You should see the list of new updates as soon as the new CC desktop application is launched.
    Install Flash Professional CC and Mobile Device Packaging app. On a high speed connection, it took me around 8 minutes.
    After the application is installed, you can launch the application directly from the desktop app by clicking on it.
    Thanks & Regards,
    Sangeeta

  • Can the P67A-GD65 boot without a graphic card?

    Hi,
    I just bought a P67A-GD65 with a Core i7 2600k and I want to operate the board without a
    graphic card (as a server running Linux). To my surprise, the machine does not boot
    with I remove the graphic card. I know it does not boot because I do not hear any
    noise coming from the hard drive, nor do I see any SATA LED blinking. When I plug
    in my ATI card, all is well.
    I looked around in the UEFI BIOS and could not find any option to turn on/off.
    The board is running FW 1.40.
    Is this a known limitation?

    Quote
    No ? There is absolutly no way to get the card to boot and without a grafic card ? That is pretty bad isnt it ? :(
    The mainboard was never intended to be used as a server as the OP had inquired about. With newer chipsets that have on-board graphics in the CPU, then it might be easy to configure. Not sure about this, but it may be possible to put a fake card or device in to trick it thinking it has a graphics card, but I have no information about it.
    As per the forum rules;
    Don’t…
    - Hijack other peoples’ topics or resurrect old topics. A topic is considered old when its last update is 14 days old.

  • Draw inside movieclip/graphic with Actionscript

    Hi.
    How I can draw inside movieclip/graphic element with Actionscript?
    If i have example movieclip-element in my project and want to draw a single dot in its coordinate (10,10), how I can do that?
    ty m8s!

    The easiest way to draw inside a movieClip is the graphics class.
    You could do something like:
    this.graphics.lineStyle(1, 0x000000);
    this.graphics.moveTo(10, 10);
    this.graphics.lineTo(11, 11);
    This isn't perfect when drawing pixels, however - it only has methods for lines and shapes(circles, rectangles etc).
    If its important for you to draw a single pixel and accuracy is more important you may want to consider converting your Movieclip to a BitmapData class, which has methods for setting Pixels. Realistically though, if you didn't know about the graphics class, then that'll probably be what you're after.

  • PaintComponent(Graphics g) problem

    hi, guys:
    Can someone tell me why my code is not work in paintComponent(Graphics g)
    below are my code:
    protected void paintComponent(Graphics g)
         g.drawLine(0, 0, 100, 100); //this line work
    this.getGraphics().drawLine(0,0,100,100); //this is not work
    I know I should use auto passed "Graphics g", however, I don't understand why this.getGraphics() can't do the same work. It should return the same Graphics object which I expected.
    Thanks for help.

    I just posted my code below (Applet), hope helpful.
    package mypackage;
    import java.applet.Applet;
    import java.awt.*;
    import javax.swing.*;
    class CatchTheCreaturePanel extends JPanel
         private Creature[] creature;
         public CatchTheCreaturePanel()
              this.setPreferredSize(new Dimension(400,300));          
         public void paintComponent(Graphics g)
              g.drawLine(50, 70, 100, 100); //work
              this.getGraphics().drawLine(0, 0, 100, 100); //not work
    public class Jmyass extends JApplet {
         private CatchTheCreaturePanel the_panel;
         public Jmyass() {
              super();
         public void init() {
              the_panel=new CatchTheCreaturePanel();
         public void start() {
              this.getContentPane().add(the_panel);          
    }

  • Displaying X� ,X� and so on  without using graphics

    Hi I want to disply X� X� and so on without using graphics.
    Is it possible if yes how.
    thanks
    dharmendra

    answered in http://forum.java.sun.com/thread.jsp?forum=31&thread=354790

  • Drawing without realizing on the screen

    Can you draw a component onto a BufferedImage object without ever drawing that object onto the screen?
    I've got the following code.
    JLabel jl = new JLabel("Test Label");
    jl.setSize(jl.getPreferredSize());
    BufferedImage bi = new BufferedImage();
    Graphics g = bi.getGraphics();
    jl.paintAll(jl);
    the image has nothing painted onto it. Do I need to call a specific function before asking the component to display itself? OR do I have to add it to a jPanel first? Anyone else have this problem?
    Thanks in advance

    This is the code:
    JLabel jl = new JLabel("Test Label");
    jl.setSize(jl.getPreferredSize());
    java.awt.image.BufferedImage bi =
    new java.awt.image.BufferedImage(100, 100, java.awt.image.BufferedImage.TYPE_INT_RGB);
    Graphics g = bi.getGraphics();
    jl.paint(g);
    // I see the final result adding a label with the
    // BufferedImage just filled.
    getContentPane().add(new JLabel(new ImageIcon(bi)));
    setVisible(true);
    validate();

  • Best way to draw thousands of graphic objects on the screen

    Hello everybody, I'm wanting to develop a game where at times thousands of graphic objects are displayed on-screen. What better way to do this in terms of performance and speed?
    I have some options below. Do not know if the best way is included in these options.
    1 - Each graphical object is displayed on a MovieClip or Sprite.
    2 - There is a Bitmap that represents the game screen. All graphical objects that are displayed on screen have your images stored in BitmapData. Then the Bitmap that represents the game screen copies for themselves the BitmapData of graphical objects to be screened, using for this bitmapData.copyPixels (...) or BitmapData.draw  (...). The Bitmap that represents the screen is added to the stage via addChild (...).
    3 - The graphical objects that are displayed on screen will have their images drawn directly on stage or in a MovieClip/Sprite added to this stage by addChild (...). These objects are drawn using the methods of the Graphics class, as beginBitmapFill and beginFill.
    Recalling that the best way probably is not one of these 3 above.
    I really need this information to proceed with the creation of my game.
    Please do not be bothered with my English because I'm using Google translator.
    Thank you in advance any help.

    Thanks for the information kglad. =)
    Yes, my game will have many objects similar in appearance.
    Some other objects will use the same image stored, just in time to render these objects is that some effects (such as changing the colors) will be applied in different ways. But the picture for them all is the same.
    Using the second option, ie, BitmapDatas, which of these two methods would be more efficient? copyPixels or draw?
    Thank you in advance any help. =D

  • Need help rotating a drawing without creating distortion

    I have drawn something in Illustrator CS3 using the shape tools and have addded a few effects. I want to rotate this shape at different angles and use it throughout my project. When I free rotate it becomes distorted and no longer looks like what I had drawn. Is there a way to lock the drawing, so that when I rotate it, it stays in tact?

    It is usuallly and best not to use the free transform tool fo this tye or rotation or movement.
    Use Effects>Distort and Transform>Transform
    if you need to distort it use the Free Distort tool also under the Distort and Transform Effect.
    The good thing about these is that you can always get back to where you began and if you had CS 4 you can turn them on and off
    and so you can have multiple adjustments that can be turned on and off at will as long as you are using CS 4 or later.
    In your case though you can always delete them and you can see what your settings are and you can change them without starting all over.

Maybe you are looking for

  • How can I importing when create object?

    Hi Gurus, I’m beginner with OO Abap. Please give me a hand with this. I’m using the programming interface REPORT  Z_TEST_ST_TEXT_EDITOR for text editor found on /people/igor.barbaric/blog/2005/06/06/the-standard-text-editor-oo-abap-cfw-class which is

  • Need help with muvo qu

    Hello, I have a Muvo N200 and am having some trouble with it. I have looked around here for awhile and nothing has helped me! My songs are making a buzzing sound after they are uploaded..thhey will work fine, then make a random buzzing throughout the

  • APEX SIG

    Hi all, For those of you not already aware, the newly formed APEX SIG (Special Interests Group) has now announced the leadership and officer positions. The positions are as follows - President: Steve Howard Vice President: Dimitri Gielis Web Content

  • Need help, RED 2K workflow

    Been working on the CS5 trial, testing red 2K and 4K and some d7 and PII footage... running sweet.. According to these I'll stablish my post workflow PC based.. but...my delivery format apple PRORES... I'm working on the trial CS5 that's I'm not sure

  • Let me know the best Ebook for Strutts,Hibernate,Spring

    Hello Dude, Please give some good book details for Struts , hibernate, Spring . Thank a lot in advance,