please help on java program for printer : this printer is connected to system which is in network with ipaddress.

my program is given below how to write program for printer is connected to system which is in network with ipaddress.

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.font.LineBreakMeasurer;
import java.awt.font.TextAttribute;
import java.awt.font.TextLayout;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;
import java.text.AttributedString;
import java.util.Vector;
import java.awt.image.*;
import java.awt.*;
import java.awt.font.*;
import java.awt.print.Paper;
import java.awt.geom.*;
import java.awt.print.*;

public class Min12 {
public static String text2print;
public static String text1print;
public static void main (String [] args) {
text2print=" HAI ";
Pi dezetekst=new Pi();

class Pi extends Min12 {

private final static int POINTS_PER_INCH = 1;

private PageFormat pgFormat = new PageFormat();
private Book book = new Book();
private Paper p;
private int W;
private int H;

public Pi() {
p = new Paper();
p.setSize(W = 188, H = 188); //3" x 3"
// p.setImageableArea(20, 21, 2 ,286); //half inch margins
//--- Create a new PrinterJob object
PrinterJob printJob = PrinterJob.getPrinterJob ();
//--- Create a new book to add pages to
//--- Add the cover page using the default page format for this print job
book.append (new IntroPage (), pgFormat);
//--- Tell the printJob to use the book as the pageable object
printJob.setPageable (book);
try {

} catch (Exception PrintException) {
public void setPrint(String printmij)

private class IntroPage implements Printable{

public int print (Graphics g, PageFormat pageFormat, int page) {
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint (;
String titleText = text2print;
String titleText1 = text1print;
Font titleFont1 = new Font ("arial", Font.BOLD,30);
g2d.drawString (titleText, 4,20);
Font titleFont2 = new Font ("arial", Font.PLAIN,18);
g2d.setFont (titleFont2);
g2d.drawString (titleText1, 10,35);
return (PAGE_EXISTS);