Capture Component and save it in png image from java language
when you create an java application with good GUI now need it print for hard information.it is to difficult how to print same GUI because all data present in component here we declared a good method how to capture same GUI to use of hard information in this post we tell you how to capture component and save it as image in png form that save in same directory where stolen your runnable programs.it to beneficial for printing information because it is a similar to your GUI simply you follow some steps and learn how to capture and save GUI under java application.step1
open netBeans ide.step2
click at file menu then click at create new project then java application then click at thenext button then type project Name like Capture Component. then click at finish button.
step3
add jframe in your project with name Main.java .step4
add some component at jframe and set its properties.step5.
access your Main.java file in Capture Component.java from this codeMain mm=new Main();
mm.setVisible(true);
step6.
run program and check it.step7.
create a jbutton at jfram with title capture and save componentstep8.
open source code of main.java file and add some required java class.import java.awt.Component;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.*;
import java.io.IOException;
step 8.
create a public function to Capture Component for capture image. look like this//this is capture component method now you use it
public void captureComponent(Component component) {
Rectangle rect = component.getBounds();
JFrame editorFrame = new JFrame("captureComponent and save image");
try {
BufferedImage image = null;
String format = "png";
String fileName = component.getName() + "." + format;
BufferedImage captureImage =
new BufferedImage(rect.width, rect.height,
BufferedImage.TYPE_INT_ARGB);
component.paint(captureImage.getGraphics());
ImageIO.write(captureImage, format, new File(fileName));
//save picture method
System.out.printf("The screenshot of %s was saved!", component.getName());
image = ImageIO.read(new File(fileName));
JButton b1 = new JButton();
b1.setIcon(new javax.swing.ImageIcon(image));
editorFrame.getContentPane().add(b1, BorderLayout.CENTER);
editorFrame.pack();
editorFrame.setLocationRelativeTo(null);
editorFrame.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.validate();
}
catch(IOException ex) { }
}
Step 9
open Main.java file in design form and dbl click and do code thiscaptureComponent(this);
0 comments:
Post a Comment