How many Java developers know there is a class called ‘printJob’ in the AWT package? It’s a very useful class that is used to print a file via Java. By using this class, I developed my own piece of software for printing a text file.
JPrn is only used to print text files (*.txt, *. java, *.c, etc.). Please, acquiesce this Achilles.
In future enhancements, I plan to support all files.
JPrn File Infrastructure
There are five files in the download, namely BaluDocPrn.java, jPrn.java, balu.jpg, map.jpg, and this one (jPrnReadme.txt).
How to Run
Step 1: First compile BaluDocPrn.java
Step 2: Then compile jPrn.java
Step 3: Finally, run jPrn.java
jPrn
*/ //Program Starts import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; import java.text.*; public class jPrn extends JFrame implements Runnable { //public static String user; ImageIcon i1,i2; JLabel l1,l2,l3,l4,l5; JTextField t1,t2,t3,t6,t7,t8; TextField t4,t5; //JComboBox j6,j7,j8; JButton b; JButton b1,b2,b3,b4,b5; Label h1,h2; Thread th1; GridBagConstraints gc; GridBagLayout gb; Frame frm=this; jPrn() { super("JPRN- A Text Printing S/W- Developed By S.Balasubramanian."); this.setCursor(Frame.HAND_CURSOR); gb=new GridBagLayout(); gc=new GridBagConstraints(); getContentPane().setLayout(gb); getContentPane().setBackground(Color.pink); gc.gridx=0; gc.gridy=0; gc.gridwidth=1; i2=new ImageIcon("map.jpg"); b4=new JButton(i2); b4.setBackground(Color.pink); gc.insets=new Insets(0,0,350,400); getContentPane().add(b4,gc); l1=new JLabel("File Name : "); gc.insets=new Insets(0,0,300,-100); getContentPane().add(l1,gc); t1= new JTextField(20); gc.insets=new Insets(0,0,300,-415); getContentPane().add(t1,gc); b1=new JButton("Browse"); b1.setToolTipText("Browse"); b1.setMnemonic('b'); gc.insets=new Insets(0,0,200,-275); getContentPane().add(b1,gc); b=new JButton("Go Print"); b.setToolTipText("Print"); b.setMnemonic('p'); gc.insets=new Insets(0,0,200,-450); getContentPane().add(b,gc); b.setEnabled(false); b5=new JButton("Exit"); b5.setToolTipText("Exit"); b5.setMnemonic('x'); gc.insets=new Insets(0,0,200,-600); getContentPane().add(b5,gc); h1=new Label("JPRN "); h1.setFont(new Font("COURIER", Font.BOLD+Font.ITALIC,40)); h1.setForeground(Color.blue); h1.setBackground(Color.pink); gc.insets=new Insets(0,0,0,0); getContentPane().add(h1,gc); h2=new Label("A Java Text File Printing Software "); h2.setFont(new Font("COURIER", Font.BOLD+Font.ITALIC,20)); h2.setForeground(Color.blue); h2.setBackground(Color.pink); gc.insets=new Insets(0,0,-100,0); getContentPane().add(h2,gc); i1=new ImageIcon("balu.jpg"); b3=new JButton(i1); b3.setBackground(Color.pink); gc.insets=new Insets(0,0,-400,200); getContentPane().add(b3,gc); l3=new JLabel("Developed By S.Balasubramanian"); gc.insets=new Insets(0,0,-400,-300); getContentPane().add(l3,gc); l4=new JLabel("Mail to : spbalu_2k@yahoo.com"); gc.insets=new Insets(0,0,-450,-300); getContentPane().add(l4,gc); l5=new JLabel("Copyright : www24.brinkster.com/javajourney"); gc.insets=new Insets(0,0,-500,-300); getContentPane().add(l5,gc); b.addActionListener(new LOGIN()); b1.addActionListener(new BROWSE()); b5.addActionListener(new EXIT()); start(); } public void run() { int i=0; try{ System.out.println("JPRN--Done by S.Balasubramanian."); while(true) { Thread.sleep(500); if(i==1) { h1.setForeground(Color.red); h2.setForeground(Color.red); } if(i==2) { h1.setForeground(Color.blue); h2.setForeground(Color.blue); //bot1.setForeground(Color.blue); } if(i==3) { h1.setForeground(Color.green); h2.setForeground(Color.green); } if(i==4) { h1.setForeground(Color.black); h2.setForeground(Color.black); //bot1.setForeground(Color.black); } if(i==5) { h1.setForeground(Color.yellow); h2.setForeground(Color.yellow); } if(i==6) { h1.setForeground(Color.orange); h2.setForeground(Color.orange); } if(i==7) { h1.setForeground(Color.gray); h2.setForeground(Color.gray); } if(i==8) { h1.setForeground(Color.white); h2.setForeground(Color.white); } i=i+1; if(i==9) i=0; } }catch(Exception e) {System.err.println(e.toString());} } public void start() { th1=new Thread(this); th1.start(); System.out.println("Welcome to JPRN!!!"); } public void stop() { th1.stop(); } class LOGIN implements ActionListener { public void actionPerformed(ActionEvent e) { //this.setVisible(false); String filename=t1.getText(); new BaluDocPrn(filename); } } class BROWSE implements ActionListener { public void actionPerformed(ActionEvent e) { Frame f=new Frame("JPrn"); b.setEnabled(true); FileDialog t=new FileDialog(f,"JPrn - Developed By S.Balu"); t.show(); String filen=t.getFile().toString(); String filed=t.getDirectory(); t1.setText(filed+filen); } } class EXIT implements ActionListener { public void actionPerformed(ActionEvent e) { if((JOptionPane.showConfirmDialog(new Frame(),"Are You Sure to close the Session?"))==JOptionPane.YES_OPTION) System.exit(0); } } public static void main(String a[]) { jPrn t= new jPrn(); t.resize(800,600); t.show(); } }
Downloads
Dedication: To my brothers and sisters, my parents, my well-wisher Subashini, and SPB.
This code was contributed by
S. Balasubramanian.
[To contribute a code article to Gamelan, please contact kmurphy@internet.com.]