Jumat, 01 Agustus 2025

JAVA - JFRAME PRINT FILE

 






/*

 * JFramePrint.java

 *

 * Created on 18 Agustus 2008, 12:03

 */

 

 

 

/**

 *

 * @author  Administrator

 */

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import java.io.*;

import java.awt.event.*;

import java.awt.print.*;

//import java.awt.event.*;

public class JFramePrint extends javax.swing.JFrame implements ActionListener{

    /** Creates new form JFramePrint */

    public JFramePrint() {

        super("Save, Load, dan Print");

        initComponents();

        setResizable(false);

        file_open.addActionListener(this);

        file_saveas.addActionListener(this);

        file_print.addActionListener(this);

      }

    public void actionPerformed(ActionEvent e) {

        if (e.getSource() == file_open) {

            int open = pilih.showOpenDialog(JFramePrint.this);

            if (open == JFileChooser.APPROVE_OPTION) {

                File file = pilih.getSelectedFile();

                try {

                    BufferedReader buka = new BufferedReader(new FileReader(file.getPath()));

                    String text;

                    txttampil.setText("");

                    setTitle(file.getName());

                    while((text = buka.readLine()) != null) {

                        txttampil.append(text+"\n");

                    }

                }

                catch(FileNotFoundException x) {

                    JOptionPane.showMessageDialog(this, "File Tidak Ada", "", JOptionPane.WARNING_MESSAGE );

                }

                catch(IOException x) {

                    JOptionPane.showMessageDialog(this,file.getAbsoluteFile());

                }

            }

        }

        if (e.getSource() == file_saveas) {

            pilih.setDialogTitle("Save As");

            int saveas = pilih.showSaveDialog(JFramePrint.this);

            if (saveas == JFileChooser.APPROVE_OPTION) {

                try {

                    File file = pilih.getSelectedFile();

                    FileWriter simpan=new FileWriter(file.getPath()+".txt");                                                         

                    setTitle(file.getName());

                    simpan.write(txttampil.getText());

                    simpan.close();

                }

                catch(IOException x) {

                    JOptionPane.showMessageDialog(this,"Error");

                }

            }

        }

        if (e.getSource() == file_print) {

            PrinterJob pj = PrinterJob.getPrinterJob();

            pj.setPrintable(null,null);

            if (pj.printDialog()) {

            try { pj.print(); }

                catch (PrinterException x) {

                JOptionPane.showMessageDialog(this,"Error");

                 }

            }

        }

    }

  

    /** This method is called from within the constructor to

     * initialize the form.

     * WARNING: Do NOT modify this code. The content of this method is

     * always regenerated by the Form Editor.

     */

    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

    private void initComponents() {

 

        pilih = new javax.swing.JFileChooser();

        jScrollPane1 = new javax.swing.JScrollPane();

        txttampil = new javax.swing.JTextArea();

        jMenuBar1 = new javax.swing.JMenuBar();

        menu_file = new javax.swing.JMenu();

        file_open = new javax.swing.JMenuItem();

        file_saveas = new javax.swing.JMenuItem();

        file_print = new javax.swing.JMenuItem();

        file_exit = new javax.swing.JMenuItem();

        menu_window = new javax.swing.JMenu();

        resize = new javax.swing.JCheckBoxMenuItem();

        top = new javax.swing.JCheckBoxMenuItem();

 

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

 

        txttampil.setColumns(20);

        txttampil.setRows(5);

        jScrollPane1.setViewportView(txttampil);

 

        menu_file.setText("File"); // NOI18N

 

        file_open.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));

        file_open.setText("Open"); // NOI18N

        file_open.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                file_openActionPerformed(evt);

            }

        });

        menu_file.add(file_open);

 

        file_saveas.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));

        file_saveas.setText("Save As..."); // NOI18N

        file_saveas.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                file_saveasActionPerformed(evt);

            }

        });

        menu_file.add(file_saveas);

 

        file_print.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK));

        file_print.setText("Print");

        menu_file.add(file_print);

 

        file_exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));

        file_exit.setText("Exit"); // NOI18N

        file_exit.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                file_exitActionPerformed(evt);

            }

        });

        menu_file.add(file_exit);

 

        jMenuBar1.add(menu_file);

 

        menu_window.setText("Window"); // NOI18N

 

        resize.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK));

        resize.setText("Resizable"); // NOI18N

        resize.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                resizeActionPerformed(evt);

            }

        });

        menu_window.add(resize);

 

        top.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));

        top.setText("Always on Top"); // NOI18N

        top.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                topActionPerformed(evt);

            }

        });

        menu_window.add(top);

 

        jMenuBar1.add(menu_window);

 

        setJMenuBar(jMenuBar1);

 

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addContainerGap()

                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 413, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(layout.createSequentialGroup()

                .addContainerGap()

                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)

                .addContainerGap())

        );

 

        pack();

    }// </editor-fold>//GEN-END:initComponents

 

    private void file_openActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_openActionPerformed

        // TODO add your handling code here:

 

    }//GEN-LAST:event_file_openActionPerformed

 

    private void file_saveasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_saveasActionPerformed

        // TODO add your handling code here:

      

}//GEN-LAST:event_file_saveasActionPerformed

 

    private void file_exitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_file_exitActionPerformed

        // TODO add your handling code here:

        System.exit(0);

}//GEN-LAST:event_file_exitActionPerformed

 

    private void resizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resizeActionPerformed

        // TODO add your handling code here:

        if (resize.isSelected()){

            setResizable(true);

                }else

            setResizable(false);

    }//GEN-LAST:event_resizeActionPerformed

 

    private void topActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_topActionPerformed

        // TODO add your handling code here:

         if (top.isSelected()){

            setAlwaysOnTop(true);

                }else

            setAlwaysOnTop(false);

}//GEN-LAST:event_topActionPerformed

   

    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new JFramePrint().setVisible(true);

            }

        });

    }

   

    // Variables declaration - do not modify//GEN-BEGIN:variables

    private javax.swing.JMenuItem file_exit;

    private javax.swing.JMenuItem file_open;

    private javax.swing.JMenuItem file_print;

    private javax.swing.JMenuItem file_saveas;

    private javax.swing.JMenuBar jMenuBar1;

    private javax.swing.JScrollPane jScrollPane1;

    private javax.swing.JMenu menu_file;

    private javax.swing.JMenu menu_window;

    private javax.swing.JFileChooser pilih;

    private javax.swing.JCheckBoxMenuItem resize;

    private javax.swing.JCheckBoxMenuItem top;

    private javax.swing.JTextArea txttampil;

    // End of variables declaration//GEN-END:variables

   

}

Tidak ada komentar: