Non finalized dvd - how to recover contents?

I have a DVD-R which contains content but wasn't finalised on the DVD recorder at time of recording. Is there any way to "grab" the content so I can play on MAC or create another DVD?

As stated above, you'll have to find a way to close the dvd prior to extracting its content.
Thereafter you might want to consider the above recommended apps. That or:
http://www.dvdxdv.com/NewFolderLookSite/Products/DVDxDV.products.htm
Message was edited by: SDMacuser

Similar Messages

  • Lost my m2v and ac3 files and want to recosntruct from a final DVD

    I lost the compressed files m2v and wav that I used to generate a menu driven DVD at the time I was using a Windows based PC (I used Pinnacle Impression with a menu to generate the final DVD.
    Now I no longer use this PC and made the big step to the Mac world in buying a MacPro with FinaCutPro and DVD STudio Pro. The only thing I have left is the final DVD with its usual contents (VOB files).
    Is it possible to find a way to import the VOB files (with the sound) into DVD Studio Pro, split it by Chapter and re-create a brand new menu ? Or using Compressor or FCP in intermediate steps before using DVD Studio Pro ?

    Francois:
    Is it possible to find a way to import the VOB files (with the sound) into DVD Studio Pro, split it by Chapter and re-create a brand new menu ?
    You can use * MPEG Streamclip * to extract the original m2v and ac3 files from the VOB file without any quality loose, and use such files in a new DVDSP project. You'll have to rebuild your menus and navigation.
    Hope that helps !
      Alberto

  • How to make content of DVD so that copies cannot be burned from it. uncopiable.

    How to I format my DVD so that its content cannot be copied by others?

    Hi
    You can't - or rather I can't - Only big companies as EMI, SONY etc can pay for that service.
    So I made a small not on it.
    DVD Copy-protect
    No there is non in standard iDVD.
    The most common solution is to put a logo that stays on top of the full movie.
    e.g.. Copyrighted to . Or made by etc.
    Not even if You buy FinalCut Studio and get DVD-Studio Pro. You will not get this.
    The Copy-protection in DVD-Studio Pro is just a flag set to alert DVD-producers
    to make this in DVD-burning Companies.
    There is such protections to Commercial materials and to astronomical costs.
    And one can figure to what need, when there are no really secure Copy-protection.
    One can only plead to respect the Copyrights
    NEWS ! Karsten got a very interesting solution
    sites.google.com/site/karstenschluter/diy-dvd-copy-protection
    Yours Bengt W

  • Non-protected DVD content onto iPod

    Obviously with copy-protected content, we can't bring it into iTunes, but for other non-protected DVD's (training videos, my wedding video, etc), is there a simple way to compress and convert these to play on the iPod? I obviously would want it compressed to not take up space, since you shouldn't notice on the small screen...

    help!
    i have the videora for videos i had on my comp( ones
    that ive downloaded) but how the heck do u put dvd's
    onto you rcomputer so u can add them to
    itunes???????
    please the most easiest non-complicated free way
    possible!
    thanks!
    I wish i could help, i also have this problem, i have converted the file, but cant seem to get it onto itunes at all, by importing, opening, or dragging the file into itunes, i will keep an eye on this because i have a 30 gig ipod video, just got it, would love to know how to put on dvds.
    sorry im no help!

  • How to recover my notebook at factory - out of box settings with recovery DVD's.

    Due to hard disk crash i formatted my hard disk, also deleted all partitions including HP Tools and HP Recovery partitions. But I have my recovery DVD of my notebook that i have created at the time of notebook purchase.
    When i Inserted First Disc of my RECOVERY DVD's ..WIndows installation started and recovery manager shown the error : "The System recovery media does not support this computer. you are not able to restore this system with media."
    Please assist me to how to recover my notebook at factory - out of box settings with recovery DVD's.
    I have hp pavillon dm4-1222Tx Entertainment notebook, Genuine Windows 7 64-bit. Thanks

    Hello Anshul-Gautam,
    Please take a look at this document, and let me know if the troubleshooting steps help resolve your recovery issues.
    Good luck!
    ↙-----------How do I give Kudos?| How do I mark a post as Solved? ----------------↓

  • I have finalized my iMovie photo slideshow and wanted to burn the imovie onto dvd. how can i do this so i can watch it on my television?

    i have finalized my iMovie photo slideshow and wanted to burn the imovie onto dvd. how can i do this so i can watch it on my television?

    Hi
    If there is no iDVD on Your Mac (and it's not on newer Macs as Apple discarded it) then You need a program that can do this.
    Your Mac can burn CDs and DVDs - BUT DVD as Data-DVDs not as Video-DVDs - they need a program to be encoded and STRUCTURED as such.
    • iDVD is part of the boxed version of iLife'11 and can only be bought outside Apple as on Amazon and e-bay
    • DVD Studio pro - Part of FinalCut Studio Pro bundle - this to has expired and can only be bought second handed. (High price and tough learning Curve - but best ever done.)
    • Roxio Toast™ - Not as elegant as iDVD - but has many other positive additions (I like it as 10-Pro incl BD-component) (now version 11)
    • Burn - only free alternative I know of on internet. Very simple - Just for doing a plain Video-DVD
    Burn http://www.digital-digest.com/software/Burn.html
    only You can buy from Apple is
    • FinalCut Pro-X which also can burn to DVD but without any nice themes.
    AppleMan1958
    You can also buy Compressor from Apple for $50 US. It will also create DVD and BluRay but without the nice themes.
    Yours Bengt W

  • How to recover deleted content file in webcenter content 11g

    How to recover deleted folder and contents containing (.doc,.pdf etc), FrameworkFolders component used.

    CORRECTION, I was incorrect on a couple of items earlier, sorry:
    As you are using Framework Folders, there is no Trash bin. This was removed as it was one reason for Folders_g not being scalable.
    When you delete a folder or content via the Framework Folders interface, the content is set to Expired status but not deleted. The folder itself IS deleted so that information is lost.
    So you can recover the contents by searching for anything which has an Expired status, but you need to do this in Repository Manager as far as I know because Expired content will not be returned in the usual search query (only Released content can be found, by design). Of course, if you have deleted more than one folder, you will not be able to distinguish the contents as belonging to one folder or another.
    On the other hand if you delete the content from the Content Info page, then the content is genuinely deleted from the repository. You'd have to recover that from backup.
    Hope this helps! And sorry for the earlier inaccuracy.
    Frank.
    Edited by: Frank Abela on Jan 25, 2013 9:40 AM
    Edited by: Frank Abela on Jan 25, 2013 9:47 AM

  • Local folder content disappeared. How to recover the lost content?

    local folder in Thunderbird was used to move messages from inbox.
    Although local folder still in place, the contents disappeared.
    (content was folders and subfolders )
    Where would the lost contents be and how to recover?
    Thanks

    http://kb.mozillazine.org/Disappearing_mail

  • How to recover my backups?? i used migration assistant but none of my old files showed up. I backed up daily and did a full disk back up twice.

    how to recover my backups?? i used migration assistant but none of my old files showed up. I backed up daily and did a full disk back up twice

    Open System Preferences and select Users & Groups. Assuming the migration was successful, you now have a new account - it was migrated. Migration Assistant doesn't copy files, it copies accounts. To see your documents you'll need to log into the account you migrated. (It has the same password it did on the other computer.)

  • How to recover ge620 from recovery dvd with corrupted recovery partition

     i bought recently an ge620 and create recovery dvd with msi software (2 dvd)
    i want to repartition its 750 hdd with third party software and now recovery partition and the whole system have trouble and system not booting atall.
    the recovery partition is corrupted now and i have not the original win7 dvd especially product key to reinstal this x64 os .the drivers can be downloaded from oficial site.
    i try to recover laptop from revovery dvd(press f3 or f11 inserting dvd but  it read dvdrom and everything is ok until system try to read corrupted recovery partition and process fails )
    plz help me how can i recovery  this laptop with recovery dvd by FORCE the system to recover from dvd not recovery partition
    thank you

    See this FAQ:
    https://forum-en.msi.com/faq/article/how-to-recover-your-notebook
    Select 'Fail-safe' option to recover from DVD, this will wipe all existing partitions and restore the notebook as you purchased it (all data will be destroyed).

  • How to recover notebook with Recovery DVD's instead of USB-stick?

    I've ordered a Recovery kit from hp.com for my Compaq Mini 110c.
    Apperantly HP sends DVD's to recover notebooks... I don't know if they know it, but there is no DVD-player in a notebook.
    To order a recovery kit, I had to fill in a sheet with my model number and serial number. So they should know what kind of system I have. But OK, let's get to the point.
    First of all, my keyboard doesn't work, my trackpad only works when I didn't touch my keyboard after reboot. If I press any key the trackpad doesn't work anymore and I have to connect my USB mouse. And I cannot connect to my wireless network.
    I've had a stupid virus on this notebook and I think that's why its acting strange.
    Before ordering the recovery kit, I tried formatting my system with a default Windows XP disk (after copying it to a bootable USB stick). I managed to get to the setup menu in XP, but apperantly the SATA-disks in my notebook are not recognized by the WinXP setup.
    I don't have a legal Windows Vista or higher version available.
    So I've ordered the recovery kit from HP. When I try to make a bootable HDD with the recovery DVD's, I get a warning that some file on the DVD was not found.
    I'm a bit out of ideas to recover my notebook.
    Any help or remarks would be great...

    Hi Thom,
    There are Two options available.
    1.  You can order a replacement set of Recovery Discs using the link below - these will reinstall the operating system, all required drivers and nearly all of the original software ( the exception often being trials of MS Office ).
    Order HP Recovery Discs.

  • How to recover iphoto titles in '08?

    I have just upgraded to iphoto '08 and not only did it undo all of my photo editing in my albums (for ~7000 photos), but all of my photo titles have disappeared. Unfortunately, I had not yet backed up my photos to my external hard drive (my bad!). I have already tried to remedy the situation by rebuilding my iphoto database, but to no avail. However, after my second rebuild, it recovered my albums (and my edits!) but none of my photo titles. To go back and enter 7000 photo titles, which correspond to my iweb blog would be quite laborious (and nearly impossible to remember the content). Any suggestions on how to recover my titles from pre-install? Thank you in advance for saving me hours and hours of time.

    jrgsf:
    Welcome to the Apple Discussions. Do you have a backup copy of the Library6.iPhoto dB file? If you do just replace the current one with the backup copy. Otherwise you might be out of luck. Since the one rebuild got some of the stuff back you might try rebuilding with iPhoto Library Manager. It often succeeds where iPhoto fails. Here's how:
    Using iPhoto Library Manager to Rebuild Your iPhoto Library
    1 -Download iPhoto Library Manager and launch.
    2 -Click on the Add Library button, navigate to your User/Pictures folder and select your iPhoto Library folder.
    3 - Now that the library is listed in the left hand pane of iPLM, click on your library and go to the File->Rebuild Library menu option
    4 - In the next window name the new library and select the location you want it to be placed.
    5 - Click on the Create button.
    Note: It may take some time to create the new library if you have a lot of photos. Report back on how long it took and how many photos you have in the library so we can give other users an idea of how long it may take.
    Do you Twango?
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 08 libraries and Leopard. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.

  • How to recover corrupt passwd file for c6000+x6270?

    i met a problem.
    passwd file corrupts and nobody can login.
    hardware platform is c6000+x6270 blade, os disks have mirrorred.
    in this environment, how to recover the passwd file(we have one copy)?
    Thanks

    The procedure can differ depending which volume manager software you use, it this is the case. But basically, you should boot with an external media, like DVD or jumpstart server, mount the root partition and fix the /etc/passwd file, umount the partition and finally reboot.

  • Can't create disk image of non-commercial DVD

    I am trying to create a disk image of a 3.7 Gb non-commercial DVD instructional video using disk utility.
    I can only get about 70 per cent of the way through before the reading/writing of the DVD content freezes for a few minutes, and then I get the message:
    "unable to create -- copy.cdr - input/output error."
    I have tried repeatedly on both my MacBook and desktop Imac with no ability to clone an image of this DVD. (Same results when I try to do the same thing with Roxio Toast 8.)
    Are there any workarounds or perhaps a method of determining definitively if the source DVD is copy-protected ? Otherwise, what is causing these repeated input/output errors ? ? ?

    I'm giving up on this particular DVD, not worth any more time tryin different permutations that al seem to fail.
    I would have thought someone would have been able to write a software program that will copy ANY DVD --even one with errors in file names etc, since that's what copying routines are supposed to do. This DVD I am trying to copy plays just fine on the Mac, auto-starting DVD player when it is inserted and there are no problems wth either audio or video thru multiple chapters. So the disk can't be THAT bad if it is supposedly error-prone. and yet I get errors when trying to make a simple mirror image of this dame DVD. Go figure ????
    If it has such terrible errors, why does it play fine on the Mac and on our living room DVD player as well ??
    How do I copy it ??? - "errors" and all . Is there software that will ignore "errors" and just copy the darn thing errors and all ?
    this is a very confusing business of too many conflicting standards I guess.

  • How  to  save  content of a  whole  swing  page

    Hi everyone ..
    can any of u tell me ,how to save contents of a java swing page in a single file with all components viz . textfield,textarea,JTable,JPanel etc .. with their respective formatting ie.e Font,Color etc ..
    Plz let me know it soon .. its very urgent ..
    Can I save it as Screenshot or Jpeg Image .. or how to go about it .
    Mohit

    Sure: see below!
    WARNING: this code will not compile as is because it uses some other classes from my personal code library (FileUtil & StringUtil). The particular methods of those classes which are used below are trivial methods that anyone can write, which is is why I have not posted them as well. So, to get the code below to compile, you can
    a) write your own versions of these classes or
    b) simply add the necessary methods to this class or
    c) simply comment out their usage (in the case of StringUtil, which is just used for arg checking)
    But if you still want me to post them, then I can post the relevant fragments of those classes.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    import javax.swing.*;
    import bb.io.FileUtil;
    import bb.util.StringUtil;
    * Class which supports taking screen shots of the entire desktop, AWT Components, or Swing JComponents.
    * This functionality is implemented in a series of <code>take</code> methods, each of which returns a BufferedImage.
    * This class also offers convenience <code>write</code> methods for storing BufferedImages to files.
    * <p>
    * The images taken by this class should be the precise images seen on the screen.
    * <b>However, the images written to files may deviate from the originals.</b>
    * One obvious cause is limitations of the chosen file format (especially with lossy formats like jpeg).
    * A subtle issue can occur, however, even when using lossless formats like png:
    * if the file is subsequently opened by another application,
    * that application may rescale the image, which can often cause visible artifacts.
    * <blockquote>
    *     To see this last problem on Windows XP,
    *     call {@link #take()} which returns an image of the entire desktop and write it to a file,
    *     and then open the file with XP's default graphics file viewer ("Windows Picture And Fax Viewer").
    *     This program shrinks the desktop image in order to fit it inside the program's window,
    *     and rescaling artifacts are readily seen, especially if the desktop image has any kind of text in it.
    *     If "Windows Picture And Fax Viewer" instead cropped the image or had a scroll pane, then this should not happen.
    * </blockquote>
    * <p>
    * Acknowledgement: this class was inspired by the program
    * <a href="http://www.discoverteenergy.com/files/ScreenImage.java">ScreenImage</a>.
    * Differences from the above program:
    * <ol>
    *  <li>this class uses {@link BufferedImage#TYPE_INT_ARGB} instead of {@link BufferedImage#TYPE_INT_RGB} in order to preserve alpha</li>
    *  <li>this class's {@link #formatNameDefault default image file format} is PNG instead of JPEG</li>
    *  <li>this class's <code>take</code> methods simply take snapshots and never have the side effect of writing image files</li>
    *  <li>this class added a version of <code>take</code> which can get a snapshot of a region of a Component</li>
    *  <li>
    *          when taking a snapshot of a region of a Component or JComponent,
    *          the Rectangle that specifies the region always has coordinates relative to the origin of the item
    *  </li>
    * </ol>
    * See also:
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=57&threadID=597936">forum discussion #1 on screen shots</a>
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=256&threadID=529933">forum discussion #2 on screen shots</a>
    * <a href="http://forum.java.sun.com/thread.jspa?forumID=57&threadID=622393">forum discussion #3 on screen shots</a>.
    * <p>
    * It might appear that this class is multithread safe
    * because it is immutable (both its immediate state, as well as the deep state of its fields).
    * However, typical Java gui code is not multithread safe, in particular, once a component has been realized
    * it should only be accessed by the event dispatch thread
    * (see <a href="http://java.sun.com/developer/JDCTechTips/2003/tt1208.html#1">Multithreading In Swing</a>
    * and <a href="http://java.sun.com/developer/JDCTechTips/2004/tt0611.html#1">More Multithreading In Swing</a>).
    * So, in order to enforce that requirement, all methods of this class which deal with components
    * require the calling thread to be the event dispatch thread.
    * See the javadocs of each method for its thread requirements.
    * <p>
    * @author bbatman
    public class ScreenShot {
         // -------------------- constants --------------------
         * Defines the image type for the BufferedImages that will create when taking snapshots.
         * The current value is {@link BufferedImage#TYPE_INT_ARGB}, which was chosen because
         * <ol>
         *  <li>the 'A' in its name means that it preserves any alpha in the image (cannot use the "non-A" types)</li>
         *  <li>the "_INT" types are the fastest types (the "BYTE" types are slower)
         * </ol>
         * @see <a href="http://forum.java.sun.com/thread.jspa?threadID=709109&tstart=0">this forum posting</a>
         private static final int imageType = BufferedImage.TYPE_INT_ARGB;
         * Default value for the graphics file format that will be written by this class.
         * The current value is "png" because the PNG format is by far the best lossless format currently available.
         * Furthermore, java cannot write to GIF anyways (only read).
         * <p>
         * @see <a href="http://www.w3.org/TR/PNG/">Portable Network Graphics (PNG) Specification (Second Edition)</a>
         * @see <a href="http://www.w3.org/QA/Tips/png-gif">GIF or PNG</a>
         * @see <a href="http://www.libpng.org/pub/png/">PNG Home Site</a>
         public static final String formatNameDefault = "png";
         // -------------------- take --------------------
         // desktop versions:
         * Takes a screen shot of the entire desktop.
         * <p>
         * Any thread may call this method.
         * <p>
         * @return a BufferedImage representing the entire screen
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take() throws AWTException, SecurityException {
              Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
              Rectangle region = new Rectangle(0, 0, d.width, d.height);
              return take(region);
         * Takes a screen shot of the specified region of the desktop.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param region the Rectangle within the screen that will be captured
         * @return a BufferedImage representing the specified region within the screen
         * @throws IllegalArgumentException if region == null; region's width and height are not greater than zero
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Rectangle region) throws IllegalArgumentException, AWTException, SecurityException {
              if (region == null) throw new IllegalArgumentException("region == null");
              return new Robot().createScreenCapture( region );     // altho not currently mentioned in its javadocs, if you look at its source code, the Robot class is synchronized so it must be multithread safe, which is why any thread should be able to call this method
         // AWT Component versions:
         * Takes a screen shot of that part of the desktop whose area is where component lies.
         * Any other gui elements in this area, including ones which may lie on top of component,
         * will be included, since the result always reflects the current desktop view.
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param component AWT Component to take a screen shot of
         * @return a BufferedImage representing component
         * @throws IllegalArgumentException if component == null; component's width and height are not greater than zero
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Component component) throws IllegalArgumentException, IllegalStateException, AWTException, SecurityException {
              if (component == null) throw new IllegalArgumentException("component == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Rectangle region = component.getBounds();
              region.x = 0;     // CRITICAL: this and the next line are what make region relative to component
              region.y = 0;
              return take(component, region);
         * Takes a screen shot of that part of the desktop whose area is the region relative to where component lies.
         * Any other gui elements in this area, including ones which may lie on top of component,
         * will be included, since the result always reflects the current desktop view.
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param component AWT Component to take a screen shot of
         * @param region the Rectangle <i>relative to</i> component that will be captured
         * @return a BufferedImage representing component
         * @throws IllegalArgumentException if component == null; component's width and height are not greater than zero; region == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         * @throws AWTException if the platform configuration does not allow low-level input control. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true
         * @throws SecurityException if createRobot permission is not granted
         public static BufferedImage take(Component component, Rectangle region) throws IllegalArgumentException, IllegalStateException, AWTException, SecurityException {
              if (component == null) throw new IllegalArgumentException("component == null");
              if (region == null) throw new IllegalArgumentException("region == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Point p = new Point(0, 0);
              SwingUtilities.convertPointToScreen(p, component);
              region.x += p.x;
              region.y += p.y;
              return take(region);
         // Swing JComponent versions:
         * Takes a screen shot of <i>just</i> jcomponent
         * (no other gui elements will be present in the result).
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param jcomponent Swing JComponent to take a screen shot of
         * @return a BufferedImage representing jcomponent
         * @throws IllegalArgumentException if jcomponent == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         public static BufferedImage take(JComponent jcomponent) throws IllegalArgumentException, IllegalStateException {
              if (jcomponent == null) throw new IllegalArgumentException("jcomponent == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              Dimension d = jcomponent.getSize();
              Rectangle region = new Rectangle(0, 0, d.width, d.height);
              return take(jcomponent, region);
         * Takes a screen shot of <i>just</i> the specified region of jcomponent
         * (no other gui elements will be present in the result).
         * <p>
         * Only {@link EventQueue}'s {@link EventQueue#isDispatchThread dispatch thread} may call this method.
         * <p>
         * @param jcomponent Swing JComponent to take a screen shot of
         * @param region the Rectangle <i>relative to</i> jcomponent that will be captured
         * @return a BufferedImage representing the region within jcomponent
         * @throws IllegalArgumentException if jcomponent == null; region == null
         * @throws IllegalStateException if calling thread is not EventQueue's dispatch thread
         public static BufferedImage take(JComponent jcomponent, Rectangle region) throws IllegalArgumentException, IllegalStateException {
              if (jcomponent == null) throw new IllegalArgumentException("jcomponent == null");
              if (region == null) throw new IllegalArgumentException("region == null");
              if (!EventQueue.isDispatchThread()) throw new IllegalStateException("calling thread (" + Thread.currentThread().toString() + ") is not EventQueue's dispatch thread");
              boolean opaquenessOriginal = jcomponent.isOpaque();
              Graphics2D g2d = null;
              try {
                   jcomponent.setOpaque( true );
                   BufferedImage image = new BufferedImage(region.width, region.height, imageType);
                   g2d = image.createGraphics();
                   g2d.translate(-region.x, -region.y) ;     // CRITICAL: this and the next line are what make region relative to component
                   g2d.setClip( region );
                   jcomponent.paint( g2d );
                   return image;
              finally {
                   jcomponent.setOpaque( opaquenessOriginal );
                   if (g2d != null) g2d.dispose();
         // -------------------- write --------------------
         * Writes image to a newly created File named fileName.
         * The graphics format will either be the extension found in fileName
         * or else {@link #formatNameDefault} if no extension exists.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param image the BufferedImage to be written
         * @param fileName name of the File that will write image to
         * @throws IllegalArgumentException if image == null; fileName is blank
         * @throws IOException if an I/O problem occurs
         public static void write(BufferedImage image, String fileName) throws IllegalArgumentException, IOException {
              if (image == null) throw new IllegalArgumentException("image == null");
              if (StringUtil.isBlank(fileName)) throw new IllegalArgumentException("fileName is blank");
              File file = new File(fileName);
              String formatName = FileUtil.getExtension(file);
              if (formatName.length() == 0) formatName = formatNameDefault;
              write(image, formatName, file);
         * Writes image to file in the format specified by formatName.
         * <p>
         * Any thread may call this method.
         * <p>
         * @param image the BufferedImage to be written
         * @param formatName the graphics file format (e.g. "pnj", "jpeg", etc);
         * must be in the same set of values supported by the formatName arg of {@link ImageIO#write(RenderedImage, String, File)}
         * @param file the File that will write image to
         * @throws IllegalArgumentException if image == null; type is blank; file == null
         * @throws IOException if an I/O problem occurs
         public static void write(BufferedImage image, String formatName, File file) throws IllegalArgumentException, IOException {
              if (image == null) throw new IllegalArgumentException("image == null");
              if (StringUtil.isBlank(formatName)) throw new IllegalArgumentException("formatName is blank");
              if (file == null) throw new IllegalArgumentException("file == null");
              ImageIO.write(image, formatName, file);
         // -------------------- Test (inner class) --------------------
         * An inner class that consists solely of test code for the parent class.
         * <p>
         * Putting all the test code in this inner class (rather than a <code>main</code> method of the parent class) has the following benefits:
         * <ol>
         *  <li>test code is cleanly separated from working code</li>
         *  <li>any <code>main</code> method in the parent class is now reserved for a true program entry point</li>
         *  <li>test code may be easily excluded from the shipping product by removing all the Test class files (e.g. on Windoze, delete all files that end with <code>$Test.class</code>)</li>
         * </ol>
         * Putting all the test code in this inner class (rather than a shadow external class) has the following benefits:
         * <ol>
         *  <li>non-public members may be accessed</li>
         *  <li>the test code lives very close to (so is easy to find) yet is distinct from the working code</li>
         *  <li>there is no need to set up a test package structure</li>
         * </ol>
         public static class Test {
              public static void main(String[] args) throws Exception {
                   Gui gui = new Gui();
                   EventQueue.invokeLater( gui.getBuilder() );
                   new Timer(1000, gui.getTimerActionListener()).start();
              private static class Gui {
                   private Frame frame;
                   private TextField textField;
                   private JFrame jframe;
                   private JLabel jlabel;
                   private JPanel jpanel;
                   private int count = 0;
                   private Runnable getBuilder() {
                        return new Runnable() {
                             public void run() {
                                  System.out.println("Creating a Frame with AWT widgets inside...");
                                  frame = new Frame("ScreenShot.Test.main Frame");
                                  textField = new TextField();
                                  textField.setText( "Waiting for the screen shot process to automatically start..." );
                                  frame.add(textField);                              
                                  frame.pack();
                                  frame.setLocationRelativeTo(null);     // null will center it in the middle of the screen
                                  frame.setVisible(true);
                                  System.out.println("Creating a JFrame with Swing widgets inside...");
                                  jframe = new JFrame("ScreenShot.Test.main JFrame");
                                  jlabel = new JLabel(
                                       "<html>" +
                                            "To be, or not to be: that is the question:" + "<br>" +
                                            "Whether 'tis nobler in the mind to suffer" + "<br>" +
                                            "The slings and arrows of outrageous fortune," + "<br>" +
                                            "Or to take arms against a sea of troubles," + "<br>" +
                                            "And by opposing end them?" + "<br>" +
                                            "To die: to sleep; No more;" + "<br>" +
                                            "and by a sleep to say we end" + "<br>" +
                                            "The heart-ache and the thousand natural shocks" + "<br>" +
                                            "That flesh is heir to," + "<br>" +
                                            "'tis a consummation Devoutly to be wish'd." + "<br>" +
                                       "</html>"
                                  jpanel = new JPanel();
                                  jpanel.setBorder( BorderFactory.createEmptyBorder(20, 20, 20, 20) );
                                  jpanel.add(jlabel);
                                  jframe.getContentPane().add(jpanel);
                                  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                  jframe.pack();
                                  Point p = frame.getLocation();
                                  p.translate(0, frame.getSize().height  + 10);
                                  jframe.setLocation(p);
                                  jframe.setVisible(true);
                   private ActionListener getTimerActionListener() {
                        return new ActionListener() {
                             public void actionPerformed(ActionEvent evt) {
                                  try {
                                       switch (count++) {
                                            case 0:
                                                 displayMessage("Taking a screen shot of the entire desktop...");
                                                 ScreenShot.write( ScreenShot.take(), "desktop.png" );
                                                 break;
                                            case 1:
                                                 displayMessage("Taking a screen shot of the central rectangle of the desktop...");
                                                 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
                                                 Rectangle region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(region), "desktopCenteredRectangle.png" );
                                                 break;
                                            case 2:
                                                 displayMessage("Taking a screen shot of the TextField...");
                                                 ScreenShot.write( ScreenShot.take(textField), "textField.png" );
                                                 break;
                                            case 3:
                                                 displayMessage("Taking a screen shot of the central rectangle of the TextField...");
                                                 d = textField.getSize();
                                                 region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(textField, region), "textFieldCenteredRectangle.png" );
                                                 break;
                                            case 4:
                                                 displayMessage("Taking a screen shot of the JLabel...");
                                                 ScreenShot.write( ScreenShot.take(jlabel), "jlabel.png" );
                                                 break;
                                            case 5:
                                                 displayMessage("Taking a screen shot of the central rectangle of the JLabel...");
                                                 d = jpanel.getSize();
                                                 region = getCenteredRectangle(d);
                                                 ScreenShot.write( ScreenShot.take(jpanel, region), "jpanelCenteredRectangle.png" );
                                                 break;
                                            default:
                                                 System.exit(0);
                                                 break;
                                  catch (Throwable t) {
                                       t.printStackTrace(System.err);
                             private void displayMessage(String text) {
                                  System.out.println(text);
                                  textField.setText(text);
                                  frame.pack();
                                  frame.invalidate();
                             private Rectangle getCenteredRectangle(Dimension d) {
                                  int x = d.width / 4;
                                  int y = d.height / 4;
                                  int width = d.width / 2;
                                  int height = d.height / 2;
                                  return new Rectangle(x, y, width, height);
    }

Maybe you are looking for