I am using the below code to merge two PNGs together although I get a syntax error on both the lines which start with g.drawImage. This is coming from an example at Merging two images but I can not comment on it because I just signed up here.
package imageEditor;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageEditor15092703 {
    File path = new File("C:/Users/Colton/Desktop/JavaImageEditor/"); // base path of the images
    // load source images
    BufferedImage image = ImageIO.read(new File(path, "image.png"));
    BufferedImage overlay = ImageIO.read(new File(path, "overlay.png"));
    // create the new image, canvas size is the max. of both image sizes
    int w = Math.max(image.getWidth(), overlay.getWidth());
    int h = Math.max(image.getHeight(), overlay.getHeight());
    BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
    // paint both images, preserving the alpha channels
    Graphics g = combined.getGraphics();
    g.drawImage(image, 0, 0, null);
    g.drawImage(overlay, 0, 0, null);
    // Save as new image
    ImageIO.write(combined, "PNG", new File(path, "combined.png"));
}
Thanks
EDIT
I got further with the help so far by making a method and exceptions. It now compiles and runs although it does not create the new png file. I feel like there are exceptions thrown which stops the program from doing what it should.
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageEditor15092705{
    public void ImageEditor15092705() throws IOException{
        File path = new File("C:/Users/Colton/Desktop/JavaImageEditor/"); // base path of the images
        // load source images
        BufferedImage image = ImageIO.read(new File(path, "image.png"));
        BufferedImage overlay = ImageIO.read(new File(path, "overlay.png"));
        // create the new image, canvas size is the max. of both image sizes
        int w = Math.max(image.getWidth(), overlay.getWidth());
        int h = Math.max(image.getHeight(), overlay.getHeight());
        BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
        // paint both images, preserving the alpha channels
        Graphics g = combined.getGraphics();
        g.drawImage(image, 0, 0, null);
        g.drawImage(overlay, 0, 0, null);
        // Save as new image
        ImageIO.write(combined, "PNG", new File(path, "combined.png"));
    }
    public static void main (String[] args)
   {
   ImageEditor15092705 foo = new ImageEditor15092705();
   }//end main
} //end image editor class
 
     
     
    