Sabtu, 20 Januari 2018

pengolahan text file yang menggunakan FileChooser dan editorPane dengan netbeans

LATIHAN

Listing Latihan

*/import javax.swing.*;
 import java.io.*;
 import javax.swing.filechooser.FileFilter;
public class fNotes extends javax.swing.JFrame {
    JFileChooser fc;
    File file;
    boolean fileBaru;
    final String[]EXT={".csv"};
    final String[]EXT2={".txt",".java"};
    final String[]EXT3={".win",".sys"};
    public fNotes() {
        initComponents();
        this.setTitle("Unitled - NOTES");
        fc=new JFileChooser();
        fc.addChoosableFileFilter(new jenisFile(EXT));
        fc.addChoosableFileFilter(new jenisFile(EXT2));
        fc.addChoosableFileFilter(new jenisFile(EXT3));
        fc.setAcceptAllFileFilterUsed(false);
        fileBaru=true;
    }
    private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {                                     
        editor.setText(" ");
        editor.requestFocus();
        this.setTitle("Untitled - NOTES ");
        fileBaru=true;
    }                                   
    private void btnOpenActionPerformed(java.awt.event.ActionEvent evt) {                                     
        int hasil=fc.showOpenDialog(this);
        if(hasil==JFileChooser.APPROVE_OPTION){
            file=fc.getSelectedFile();
            try{
                editor.read(new FileInputStream(file),null);
            }catch(IOException e){
                msg("Gagal Buka File : "+file.getName());
                return;
            }
        }
        this.setTitle(file.getName()+ "- NOTES");
        fileBaru=false;
    }                                     

    private void btnSaveAsActionPerformed(java.awt.event.ActionEvent evt) {                                       
        if(fc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION){
            file=fc.getSelectedFile();
            if(!file.exists()||okToReplace())
                simpanFile();
        }
    }                                       
    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                     
        if(fileBaru)
                btnSaveAs.doClick();
        else
            simpanFile();
    }                                     
    private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {                               
        System.exit(0);
    }                                       
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new fNotes().setVisible(true);
            }
        });
    }                       
private void msg(String pesan){
        JOptionPane.showMessageDialog(this, pesan,"Informasi",
                JOptionPane.INFORMATION_MESSAGE);
    }
    private boolean okToReplace(){
        return(JOptionPane.showConfirmDialog(this, "File"+file.getName()+"Sudah Ada \n"+
                "Akan Ditimpa ?","Peringatan",JOptionPane.YES_NO_OPTION)==0);
    }
    private void simpanFile(){
        PrintWriter pw=null;
        try{
            pw=new PrintWriter(new BufferedWriter(new FileWriter(file)));
        }catch(IOException e){
            msg("Gagal Simpan File : "+file.getName());
        return;
        }
        pw.print(editor.getText());
        pw.close();
        this.setTitle(file.getName()+" - NOTES");
        fileBaru=false;
    }
    class jenisFile extends FileFilter{
        private String[]s;
        jenisFile(String[]sArg){
            s=sArg;
        }
        public boolean accept(File fArg){
            if(fArg.isDirectory()) return true;
            for(int i=0;i<s.length;i++)
                if(fArg.getName().toLowerCase().indexOf(s[i].toLowerCase())>0)
                    return true;
            return false;
        }
        public String getDescription(){
            String tmp="";
            for(int i=0;i<s.length;++i)
                tmp +="*"+s[i]+" ";
            return tmp;
        }
    }
}

hasil output :


Tugas

Perbeadaan

  • JEditorArea berfungsi menampilkan text dalam bentuk paragraph saja
  • JTextPane berfungsi menampilkan text dalam bentuk paragraph tetapi bisa ditampilkantulisan yang diformat tebal, miring, bergaris , font size dan lain sebagainya.
  • JEditorPane mensupport HTML, sehingga lebih dapat bermanfaat untuk menampilkan bermacam-macam jenis teks yang ada.

2. Berikut adalah penambahan scriptnya yaitu pada:

public fNotes
fc.setCurrentDirectory(new java.io.File("."));
    fc.setDialogTitle(choosertitle);
    fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    fc.setAcceptAllFileFilterUsed(false);
    if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
      System.out.println("getCurrentDirectory(): "
         +  fc.getCurrentDirectory());
      System.out.println("getSelectedFile() : "
         +  fc.getSelectedFile());
   }
    else {
      System.out.println("No Selection ");
      }


Kesimpulan


sedikit saya simpulkan bahwa pengolahan text dapat dilakukan dinetbean dengan tool yang ada di palate seperti jTextField, jTextArea dan lainnya. Netbean juga dapat digunakan untuk pengolahan dokumen dengan menggunakan  class JfileChooser dan jEditorPane. Tujuan pembuatan laporan ini dapat memahami pengelolaan file text yang ada pada pemrograman desktop, dalam menampilkan suatu pemilihan berkas dapat digunakan class JfileChooser yang menampilkan dialog modal yang secara default memuat pemilih berkas dan dokumen dan pengolahan file.


Download versi laporan lengkap

KLik DISINI
cara downloadnya : 
hilangkan centang pada Download Addon==>nanti akan diredirect ke link kosong sebanyak 2-3 kali, silahkan di ulangi saja sampai tidak diredirect lagi seperti gambar berikut ini


Tidak ada komentar:

Posting Komentar