How to print a content of a window

I'm totatlly new to handling printer in java. can any one give me a hand to do this.
what i want to do is i have a generated html report inside a JTextPane. i want to print this to take a rough copy of it. the text pane is inside a JInternalFrame and there is a button on it for this.
can any one give me sample code for this. (to print a content of a TextPane)
please use good comments in the code so i can get a good idea about this.
Thankx in advance...

Sorry for some error at code before. here is the revision:
import java.awt.*;
import java.awt.print.*;
import javax.swing.*;
public class ComponentPrintable implements Printable { // sorry forgot class keyword
     private Component componentToPrint; // in your case it's JTextPane
     public ComponentPrintable(Component componentToPrint) {
          this.componentToPrint = componentToPrint;
     public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
          if (pi > 0)
               return NO_SUCH_PAGE;
          componentToPrint.print(g);
          // 'retrun' should be return...
          return PAGE_EXISTS;
     public static void main(String[] args) throws Exception {
          PrinterJob printerJob = PrinterJob.getPrinterJob();
          JLabel componentToPrintLabel = new JLabel(
                    "Here is sample of component to be printed");
          ComponentPrintable cp = new ComponentPrintable(componentToPrintLabel);
          printerJob.setPrintable(cp);
          // you can set page format by calling printerJob.pageDialog(...)
          printerJob.print();
}you can compile and run it.
   $javac ComponentPrintable.java
   don't forget to turn on printer and prepare paper...
   $java ComponentPrintable
   see the result

Similar Messages

  • How to print HTML contents

    can anyone tell me how to print HTML contents...i needed it urgently
    Thanks

    actually i have a print button on html page....when i click on print button using window.print(); the html page gets printed...but along with it print button is also printed...i dont want print button to be printed...
    this is the issue...
    please resolve it
    Thanks a lot...

  • How do i transfer content from a windows phone to an iphone

    How do I transfer content from a windows phone to an iphone?

    Hi Julian,
    Sorry for the delay in response, I didn't think many answers would come in so quickly being Christmas and all...
    My Dad only needs to be able to access files for reference; any editing or alteration to pre-existing files would largely be done on a desktop or his laptop. In the meantime, Dropbox does look ideal and I will investigate along with the other great ideas suggested on here for the best option.
    Thanks very much...

  • How to print Iview contents only

    Hello All,
    How to print IView contents only instead of the whole portal. If I use javascript function, it prints whole screen. I want to print only the IVIEW contents. IView has tableview.
    Thanks in advance,
    Praveen

    Hi,
    we are using a 7.0 SP 16 Portal.
    If you have an light portal with an low EPCF level maybe the option will not be shown.
    Try it with the default SAP Portal Style as admin in that case you have an high EPCF level and you also should see the print option.
    If your iview is embeded inside a page this can have different effects. Please test it with an stand alone iView before.
    So with the high EPCF level the default portal style a single portal iView and the print option set to true you should see and use the print option.
    The option "Show print option" is not for every iView type avaible for example web dynpro iViews has that option this i know for sure, because i use this option with web dynpro iViews.
    Maybe you can build this function by your own i did this also with the following code. Maybe you can adapt that code:
    String p1 = WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("PagePath");
    String p2 = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("sap-ext-sid");
    String p3 = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("sap-wd-cltwndid");
    String[] url = wdThis.wdGetAPI().getComponent().getApplication().getURLService().getGeneralService().getAbsoluteWebResourceURL(wdThis.wdGetAPI().getComponent().getDeployableObjectPart().getName()).split("/");
    parameter = p1 + "&iview_mode=default&sap-wd-renderMode=print&sap-wd-cltwndid=" + p4 + "&sap-wd-cltwndid-print=" + p4 + "&sap-wd-pb-ext-sid=" + p2 + "--" + p3 + "--&IviewPrint=true";
    String newUrl = "http://" + url[2]+ "/irj/servlet/prt/portal/prtroot/com.sap.portal.pagebuilder.IviewModeProxy?iview_id=" + parameter;
    kind regards
    Fabian
    Edited by: Fabian Eidner on Mar 23, 2009 3:40 PM

  • How to print the content of a DynPro Window?

    Hello,
    Is there any DynPro (Or SAP) package that can print the current window content? If yes, can anyone please show me a code example?
    Roy

    Roy,
    Printing content of the window is almost always not a solution. Personally, I hate sites where articles are not available in printer-friendly format (either via separate page or CSS with media type printer).
    With WebDynpro it is even worse -- does end user really expect all this buttons, complex tables, combo boxes etc.?
    My advise is to either:
    1. Create Adobe PDF for user to download and print
    2. Create printer-friendly HTML and open it in external window
    3. Create MS Excel file to download.
    First and third options are well documented in SDN docs / tutorials, the second option is very easy to implement: take my code for transforming context tree to XML converting context-tree to xml? and apply necessary XSLT template. This way you may get HTML output in printer friendly form.
    Valery Silaev
    EPAM Systesm
    http://www.NetWeaverTeam.com

  • How to print the contents of a form(window)

    I'm devloping visitors application in java. After the data entry, I need to display the selected information from database along with the photo and take a printout so that it looks like a card.
    I know how to display the contents in a form. How do I print the contents of the form?
    -Thanx
    Hane

    in JComponent there is a method called print(Graphics g)
    you can use that with a Printable class
    read bout the java.print package in the java doc

  • How to print the content of a text edit ?

    Hi to all,
    I have a view with a text edit and I want to print its content. I created a button and I want to print text edit content pressing this button. How can I do? Which java code I have to insert in that button?
    thanks a lot,
    Antonio

    Antonio,
    Sadly, there is no way to do it directly. Even in plain HTML application it is impossible to print text of UI control (<textarea> in this case).
    So you have to open new browser window containing entered text and let user print text himself. Or invoke window.print() on document load event.
    VS

  • How to print table contents?

    hi @,
    I am having a view which is dsiplaying data fetched from the R/3 through Adaptive RFC in a table. This table need to have a print functionality to print on the client.
    How to do this I am not having any function / UI to do this.
    Any help.
    Regards

    Hi,
    Try This:
    When the user click on Print button, launch a new window as below:
    public void onActionPrint(com.sap.xyz.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionPrint(ServerEvent)
              StringBuffer strB = new StringBuffer("/webdynpro/dispatcher/xyz.com/(component name space) ab~xyz~testprint/(application name)PrintTestApp");
              IWDWindow window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(strB.toString(), "Print");
              window.show();
        //@@end
    The above code helps to launch a new window with your Web Dynpro application. The application is sepecific to print functionality.
    ThePrintTest App should have the content with format what exactly you would like to print. (Users use the browser standard print functionality to print the table content).
    This is a kind of work around and as of NW 7.0 there is no standard print functionality available in Web Dynpro.
    Thanks
    Krishna

  • How to print the content of LinkedList int[] and LinkedList LinkedList ?

    Hi guys, its been a long time since i posted here, and now im coming back to programming using java. My problem is, how can i print the content of the list?
    Example:
    LinkedList<int[]> list = new LinkedList<int[]>;
    int[] input = {1,2,3,4,5};
    int[] input2 = {2,32,43,54,65};
    list.add(input);
    list.add(input2);
    how can i print all the content of the linkedlist?
    Please help me..I know its a dumb question but i really dunno how.
    here is the code:
    import java.util.LinkedList;
    import java.util.Scanner;
    import java.util.Arrays;
    public class Test{
         static void printThis(String[] in){
              System.out.print("Value: ");
              for(int i = 0;i<in.length;i++){
                   System.out.print(in[i] + " ");
              System.out.println();
         static void reset(String[] val){
              for(int i = 0;i<val.length;i++){
                   val[i] = "";
         public static void main(String[] args){
              LinkedList<String[]> list = new LinkedList<String[]>();
              LinkedList<String> listTrans = new LinkedList<String>();
              System.out.print("Enter the number of records: ");
              Scanner s = new Scanner(System.in);
              int numOfRecords = s.nextInt();
              System.out.print("Enter the number of records per run: ");
              s = new Scanner(System.in);
              System.out.println();
              int numOfRecordsInMemory = s.nextInt();
              String[] getData = new String[numOfRecords];
              String[] transferData = new String[numOfRecordsInMemory];
              int numOfRuns = 0;
              int counter = 0;
              for(int i = 0;i<numOfRecords;i++){
                   counter++;
                   System.out.print("Enter value number " + counter + ": ");
                   Scanner scan = new Scanner(System.in);
                   getData[i] = scan.next();
                   listTrans.add(getData);
              if(getData.length%numOfRecordsInMemory == 0){
                   numOfRuns = getData.length/numOfRecordsInMemory;
              }else if(getData.length%numOfRecordsInMemory != 0){
                   numOfRuns =(int)(getData.length/numOfRecordsInMemory)+ 1;
              System.out.println();
              System.out.println("Number of Runs: " + numOfRuns);
         int pass = 0;
         System.out.println("Size of the main list: " + listTrans.size());
         while(listTrans.size() != 0){
              if(listTrans.size() >= numOfRecordsInMemory){
                   for(int i = 0;i<numOfRecordsInMemory;i++){
                        transferData[i] = listTrans.remove();
                   System.out.println("Size of the list: " + listTrans.size());
                   printThis(transferData);
                   System.out.println();
                   Arrays.sort(transferData);
                   list.add(transferData);
                   reset(transferData);
              }else if(listTrans.size() < numOfRecordsInMemory){
                   pass = listTrans.size();
                   for(int k = 0;k<pass;k++){
                        transferData[k] = listTrans.remove();
                   System.out.println("Size of the list: " + listTrans.size());
                   printThis(transferData);
                   System.out.println();
                   Arrays.sort(transferData);
                   list.add(transferData);
                   reset(transferData);
    //This is the part that is confusing me.
    //im trying to print it but its not working.
              System.out.println("Size of the next list: " + list.size());
    //          for(int i = 0;i<list.size();i++){
    //                    System.out.println();
    //               for(int j = 0;j<list.get(i)[j].length();j++){                    
    //                    System.out.print(list.get(i)[j] + " ");

    Here's the funnest, mabye clearest way you could do it: Use 2 Mappers
    package tjacobs.util;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import tjacobs.Arrays;
    public class Mapper <T>{
         public static interface MappedFunc<T> {
              void map(T value);
         public Mapper(T[] vals, MappedFunc<T> function) {
              this (new Arrays.ArrayIterator<T>(vals), function);
         public Mapper(Iterator<T> iterator, MappedFunc<T> function) {
              while (iterator.hasNext()) {
                   function.map(iterator.next());
         public static void main(String[] args) {
              String[] s = new String[] {"a","b", "c", "abc", "ab"};
              MappedFunc<String> func = new MappedFunc<String>() {
                   public void map(String s) {
                        if (s.toLowerCase().startsWith("a")) {
                             System.out.println(s);
              Mapper m = new Mapper(s, func);
    }

  • How to print preview in a popup window?

    There are couple of websites that I use frequently and they open links up into popup windows that I would like to print using print preview so I don't waste paper. Is there a way to do print preview from a popup window or can I open popup windows in a new tab?
    Please Help,
    jpmtnman

    Thanck you for your answer.
    Unfortunatly, my plugin aim to help debug javascript code. So, it's not my code which directly open popup, it's the code I'm watching. I cannot give argument to window.open.
    Correct me if I did not understand something, but your second option consist in modifying the settings of the user browser. How could I do that from a plugin ?
    Also, I realized that when I open a popup without the plugin tester(cfx run), i.e. in opening firefox the usual way, popup windows have the menubar with plugin buttons. O.o
    Is anyone know why this difference ?

  • How to print the contents of doubly-Linked List

    Hi
    I have a DLList consists of header , trailer and 10 linked nodes in between
    Is there a simple way to print the contents ie "the elements"
    of the list
    thanks

    In general you should write an iterator for every linked data structure for fast traversal. I'm guessing you're writing your own DLL for an assignment because one normally uses the LinkedList structure that is included in the api. Anyway, here is an example of how the iterator is implemented for a double linked list:
    http://www.theparticle.com/_javadata2.html#Doubly_Linked_Lists_with_Enumeration

  • Urgent: how to print the contents displayed in JTextPane

    hi all,
    i've a problem printing the contents typed in styled format in JTextPane, when i print the contents nothing is printed. can anyone tell how can i print the contents typed in styled format or so. the code for implementing the print is given below.
    class ContentsArea extends JTextPane implements Pritable {
       public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
          if (pi >= 1) {
             return Printable.NO_SUCH_PAGE;
          Graphics2D g2d = (Graphics2D) g;
          g2d.translate(pf.getImageableX(), pf.getImageableY());
          g2d.translate(pf.getImageableWidth() / 2,
                          pf.getImageableHeight() / 2);
          Dimension d = getSize();
          double scale = Math.min(pf.getImageableWidth() / d.width,
                                    pf.getImageableHeight() / d.height);
          if (scale < 1.0) {
              g2d.scale(scale, scale);
          g2d.translate(-d.width / 2.0, -d.height / 2.0);
          return Printable.PAGE_EXISTS;
    }i'd be grateful to all ppl who helps me.
    Afroze.

    What's the exact problem? The printer printing a blank sheet or the printer not doing anything at all? First make sure in the main program you've got something along the lines of...
    import java.awt.print.*;
    PrinterJob printerJob = PrinterJob.getPrinterJob();
    PageFormat pageFormat = printerJob.defaultPage();
    if(!printerJob.printDialog()) return; //not essential but lets the user tweak printer setup
    pageFormat = printerJob.pageDialog(pageFormat); //ditto
    printerJob.setPrintable(this, pageFormat);
    print(...);
    The above code should go in an ActionListener, triggered when the user hits a print button or menuitem. I'm guessing you already have something similar set up.
    Then your print(...) method should be similar to
    public int print(Graphics g, PageFormat pageFormat, int pageIndex)
         if(pageIndex>0) return NO_SUCH_PAGE;
         Graphics2D gg = (Graphics2D)g;
         gg.draw(whatever's going to be printed);
         return PAGE_EXISTS;
    Which it is, although yours has clever scaling stuff built in ) The only thing you're not doing is rendering the actual content.
    So if you want the contents of the textpane, it'd make sense to use something like g.drawString(myTextPane.getContents()); in the print method. Note it's g and not g2d, since Graphics2D has more complicated text handling routines.
    I'm no expert tho )

  • How to print the content of a textarea in java?

    Hello, i'm currently developping a HTML Editor in java but i've got a problem with printing job... Does anyone know a simple code to print the content of a textarea by clicking on a button?
    for instance:
    JTextarea textarea = new JTextArea();
    JButton print = new JButton ();
    file_menu.add(print) ;
    print.addActionListener(
    new ActionListener()
    public void actionPerformed(ActionEvent event)
    ////----> what could i put here to print the content of my textarea named 'textarea' ? Does anyone know a class i could implement here? for instance: 'Print print = new Print(textarea);'
    I've searched on the web but i didn't find it...
    Thanks very much for your help...
    S�bastien

    public class TA extends JTextArea implements Printable{
    public TA(){
    super();
    this.setPreferredSize(new Dimension(500,500));
    public TA(int x, int y){
    super(x,y);
    public int print(Graphics g, PageFormat pf,int pi){
    if (pi >= 1) {
    return Printable.NO_SUCH_PAGE;
    Graphics2D g2 = (Graphics2D) g;
    g2.translate(pf.getImageableX(),pf.getImageableY());
    Font f = new Font("Monospaced", Font.PLAIN,6);
    g2.setFont (f);
    g2.drawString(this.getText(),100,100);
    this.paint(g2);
    return Printable.PAGE_EXISTS;
    And use in Action Listener
    // get the print job
    if(pj.printDialog()){
    PageFormat pformat = pj.defaultPage();
    pformat.setOrientation(PageFormat.PORTRAIT);
    System.out.println(pj.defaultPage());
    pj.setPrintable(ta,pj.pageDialog(pformat));
    try{
    pj.print();
    catch(PrinterException p){

  • How to print dynamic text in a window

    Hi All,
    My requirement is to print the payement in a window and which will be dynamic and will span across multiple number of pages and there is a main window which i already using to display line item details. Please suggest if there is any possible way to do this.
    Regards,
    Ashwin.

    Hi,
    Just fill one internal table with the payment details & in the main window of ur smartform.Create one table node in the main window of ur smartform & loop ur table in it.
    I hope this will help u.
    regards,
    rajesh.

  • How to print the content of a textarea by clicking on a button?

    Hello, i'm currently developping a HTML Editor in java but i've got a problem with printing job... Does anyone know a simple code to print the content of a textarea by clicking on a button?
    for instance:
    JTextarea textarea = new JTextArea();
    JButton print = new JButton ();
    file_menu.add(print) ;
    print.addActionListener(
    new ActionListener()
    public void actionPerformed(ActionEvent event)
    ////----> what could i put here to print the content of my textarea named 'textarea' ?
    I've searched on the web but i didn't find it...
    Thanks very much for your help...
    S�bastien

    I've never tried it, but here's an article that might help:
    http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-Printing.html

Maybe you are looking for

  • Mavericks won't print to Xerox Phaser 6300.

    Mavericks has my printer in the list of available devices, but tells me that the printer is not connected and won't print. Xerox only has updates to Mountain Line in their driver downloads. Anyone else having a similar problem?

  • Zen V Plus 8GB: Can I set MORE than 4GB as storage for dat

    When I bought the device, I thought I could choose to empty the entire player and fill it totally with DATA. to (for example) store a complete DVD (as data ofcourse, I understand the player won't be able to display it)

  • Using Adobe Ideas with Illustrator CS3

    I am using Adobe Ideas in an iPhone.  I have Adobe Illustrator CS3 which won't open the idea file.  Do I need to update my version of Illustrator or is there some way to open the files with the version I have?  Also, are they vector or rastor files? 

  • How to configure google apps in Mail 5 of lion os x not as gmail but as exchange

    Hi All, I have been trying hard online to find some resource to configure google apps in Mail 5 of lion os x not as gmail but as exchange. The reason is that I want to sync my contacts as well as calendar and email but if configured as gmail ot only

  • X-FI and BF2 doesn't work like it sho

    After many hours of trial and error, i drop this post here: I can't switch in BF2 to "Creative X-FI" in the sound settings. "Your sound hardware is not compatible, blabla...". I deinstalled BF2, installed it again. I deinstalled the X-FI-drivers and