How to open a created file from java program after button click in netbeans -


i have created program in netbeans button click creates pdf file in home directory codes have add open after button click.

package demopdf;  import com.itextpdf.text.document; import com.itextpdf.text.documentexception; import com.itextpdf.text.paragraph; import com.itextpdf.text.pdf.pdfwriter;   import java.io.filenotfoundexception; import java.io.fileoutputstream;  import java.util.logging.level; import java.util.logging.logger;  /**  *  * @author sunil  */  public class demopdfcreate extends javax.swing.jframe { public static final string result="report.pdf";    /**  * creates new form demopdfcreate  */ public demopdfcreate() {     initcomponents(); }  /**  * method called within constructor initialize form.  * warning: not modify code. content of method  * regenerated form editor.  */ @suppresswarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated  code">                            private void initcomponents() {      jbutton_pdf = new javax.swing.jbutton();     jtextfield_txt = new javax.swing.jtextfield();      setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);      jbutton_pdf.settext("save pdf");     jbutton_pdf.addactionlistener(new java.awt.event.actionlistener() {         public void actionperformed(java.awt.event.actionevent evt) {             jbutton_pdfactionperformed(evt);         }     });      javax.swing.grouplayout layout = new javax.swing.grouplayout (getcontentpane());     getcontentpane().setlayout(layout);     layout.sethorizontalgroup(         layout.createparallelgroup (javax.swing.grouplayout.alignment.leading)         .addgroup(layout.createsequentialgroup()             .addgroup(layout.createparallelgroup (javax.swing.grouplayout.alignment.leading)                 .addgroup(layout.createsequentialgroup()                     .addgap(53, 53, 53)                     .addcomponent(jtextfield_txt,  javax.swing.grouplayout.preferred_size, 266,  javax.swing.grouplayout.preferred_size))                 .addgroup(layout.createsequentialgroup()                     .addgap(113, 113, 113)                     .addcomponent(jbutton_pdf,  javax.swing.grouplayout.preferred_size, 144,  javax.swing.grouplayout.preferred_size)))             .addcontainergap(81, short.max_value))     );     layout.setverticalgroup(         layout.createparallelgroup (javax.swing.grouplayout.alignment.leading)         .addgroup(javax.swing.grouplayout.alignment.trailing,  layout.createsequentialgroup()             .addcontainergap()             .addcomponent(jtextfield_txt,  javax.swing.grouplayout.preferred_size, 159,  javax.swing.grouplayout.preferred_size)             .addpreferredgap (javax.swing.layoutstyle.componentplacement.related, 27, short.max_value)             .addcomponent(jbutton_pdf,  javax.swing.grouplayout.preferred_size, 37,    javax.swing.grouplayout.preferred_size)             .addgap(64, 64, 64))     );      pack(); }// </editor-fold>                          private void jbutton_pdfactionperformed(java.awt.event.actionevent evt)  {                                                 // todo add handling code here:     document doc =new document(); try {   try {       pdfwriter.getinstance(doc, new fileoutputstream(result)); } catch (filenotfoundexception ex) {     logger.getlogger(demopdfcreate.class.getname()).log(level.severe, null,  ex); }     doc.open();      doc.add(new paragraph(jtextfield_txt.gettext()));       doc.close();  } catch (documentexception ex) {     logger.getlogger(demopdfcreate.class.getname()).log(level.severe, null,  ex); }    }                                             /**  * @param args command line arguments  */  public static void main(string args[]) {     /* set nimbus , feel */     //<editor-fold defaultstate="collapsed" desc=" , feel setting  code (optional) ">     /* if nimbus (introduced in java se 6) not available, stay  default , feel.      * details see  http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html       */     try {         (javax.swing.uimanager.lookandfeelinfo info :  javax.swing.uimanager.getinstalledlookandfeels()) {             if ("nimbus".equals(info.getname())) {                 javax.swing.uimanager.setlookandfeel(info.getclassname());                 break;             }         }     } catch (classnotfoundexception ex) {         java.util.logging.logger.getlogger(demopdfcreate.class.getname ()).log(java.util.logging.level.severe, null, ex);     } catch (instantiationexception ex) {         java.util.logging.logger.getlogger(demopdfcreate.class.getname ()).log(java.util.logging.level.severe, null, ex);     } catch (illegalaccessexception ex) {         java.util.logging.logger.getlogger(demopdfcreate.class.getname ()).log(java.util.logging.level.severe, null, ex);     } catch (javax.swing.unsupportedlookandfeelexception ex) {         java.util.logging.logger.getlogger(demopdfcreate.class.getname ()).log(java.util.logging.level.severe, null, ex);     }     //</editor-fold>      /* create , display form */     java.awt.eventqueue.invokelater(() -> {         new demopdfcreate().setvisible(true);     }); }  // variables declaration - not modify                      private javax.swing.jbutton jbutton_pdf; private javax.swing.jtextfield jtextfield_txt; // end of variables declaration                      } 

i have created above program , using itextpdf.jar can able create pdf file in frograms directory iwant open when created under same button click

i'd try desktop.open(file), which:

launches associated application open file.

if (desktop.isdesktopsupported()) {     try {         file myfile = new file("/path/to/file.pdf");         desktop.getdesktop().open(myfile);     } catch (ioexception ex) {         // no application registered pdfs     } } 

Comments