SHARE
TWEET

Untitled

a guest Oct 4th, 2017 53 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.sql.*;
  5. import java.util.*;
  6. import java.text.*;
  7. import java.lang.*;
  8. import java.io.*;
  9. import javax.swing.table.DefaultTableModel;
  10.  
  11. import net.sf.jasperreports.engine.*;
  12. import net.sf.jasperreports.engine.util.*;
  13. import net.sf.jasperreports.view.*;
  14.  
  15.  
  16. public class CetakLapSkJabatan extends JInternalFrame implements ActionListener{
  17.     private Dimension UM  = Toolkit.getDefaultToolkit().getScreenSize();
  18.    
  19.         private JPanel y = new JPanel();
  20.        
  21.         private JLabel  lblBerdasarkan  = new JLabel ("Berdasarkan :"),
  22.                         lblNrk          = new JLabel ("NRK :"),
  23.                         lblNama         = new JLabel ("Nama :"),
  24.                         lblPeriode      = new JLabel ("Periode :");
  25.                        
  26.         private JTextField  txtNrk      = new JTextField (6),
  27.                             txtNama     = new JTextField(25),
  28.                             txtPeriode  = new JTextField (4);
  29.                        
  30.         private String[] arrCari         = {"NRK","Semua Pegawai"};
  31.         private JComboBox cboBerdasarkan = new JComboBox(arrCari);
  32.    
  33.         private JButton btnCetak    = new JButton ("Cetak"),
  34.                         btnCari     = new JButton ("Cari"),
  35.                         btnBersih   = new JButton ("Bersih");
  36.    
  37.     public CetakLapSkJabatan(){
  38.         super ("Cetak Laporan SK Jabatan",false,true,false,true);
  39.         setSize (375, 245);
  40.         y .setLayout(null);
  41.        
  42.         lblBerdasarkan.setBounds(45,20,100,25);
  43.         lblNrk.setBounds(45,55,100,25);
  44.         lblNama.setBounds(45,90,100,25);
  45.         lblPeriode.setBounds(45,125,100,25);
  46.        
  47.         cboBerdasarkan.setBounds(140,20,120,25);
  48.         txtNrk.setBounds(140,55,90,25);
  49.         txtNama.setBounds(140,90,170,25);
  50.         txtPeriode.setBounds(140,125,90,25);
  51.        
  52.         btnCetak.setBounds(60,170,100,25);
  53.         btnCari.setBounds(230,55,80,25);
  54.         btnBersih.setBounds(190,170,100,25);
  55.        
  56.         y.add (lblBerdasarkan);
  57.         y.add (lblNrk);
  58.         y.add (lblPeriode);
  59.         y.add (lblNama);
  60.         y.add (cboBerdasarkan);
  61.         y.add (txtNrk);
  62.         y.add (txtPeriode);
  63.         y.add (txtNama);
  64.         y.add (btnCetak);
  65.         y.add (btnBersih);
  66.         y.add (btnCari);
  67.        
  68.         getContentPane().add (y);
  69.            
  70.         btnCari.addActionListener(this);
  71.         btnCetak.addActionListener(this);
  72.         btnBersih.addActionListener(this);
  73.            
  74.         init();
  75.         setVisible (true);
  76.            
  77.     }
  78.     void init(){
  79.         cboBerdasarkan.setSelectedIndex(0);
  80.         txtNrk.setText("");
  81.         txtNrk.setEnabled(false);
  82.         txtNama.setText("");
  83.         txtNama.setEnabled(false);
  84.         txtPeriode.setText("");
  85.         txtPeriode.setEnabled(true);
  86.        
  87.         btnCetak.setEnabled(true);
  88.         btnBersih.setEnabled(true);
  89.         btnCari.setEnabled(true);
  90.     }
  91.    
  92.     void bersih(){
  93.         txtNrk.setText("");
  94.         txtNrk.setEnabled(false);
  95.         txtNama.setText("");
  96.         txtNama.setEnabled(false);
  97.         txtPeriode.setText("");
  98.         txtPeriode.setEnabled(true);
  99.        
  100.         cboBerdasarkan.setSelectedIndex(1);
  101.         btnCetak.setEnabled(true);
  102.         btnBersih.setEnabled(true);
  103.         btnCari.setEnabled(true);
  104.         txtNrk.requestFocus();
  105.     }
  106.    
  107.     void cari(){
  108.             try{
  109.             Koneksi objKon   = new Koneksi();
  110.             Connection con   = objKon.bukaKoneksi();
  111.             Statement st     = con.createStatement(); //3
  112.             String sql       = "Select * From pegawai Where Nrk='"+txtNrk.getText()+"'";
  113.             ResultSet rs     = st.executeQuery(sql);
  114.             if(rs.next()){
  115.                 txtNama.setText(rs.getString("Nama"));
  116.                 txtPeriode.setText("");
  117.                 txtPeriode.setEnabled(true);
  118.                 btnCetak.setEnabled(true);
  119.                 btnBersih.setEnabled(true);
  120.            
  121.             }
  122.             /*else{
  123.                 btnCetak.setEnabled(false);
  124.                 btnBersih.setEnabled(false);
  125.             }*/
  126.             rs.close(); //7
  127.             con.close(); //8
  128.             /*txtNrk.setEnabled(false);
  129.             txtNama.setEnabled(false);
  130.             txtPeriode.setEnabled(false);*/
  131.         }
  132.         catch(SQLException e){
  133.         }
  134.     }
  135.     void cetakPerPegawai(){
  136.     try{
  137.         String nmFile = "./Laporan/Laporan SK Jabatan.jasper";
  138.         String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  139.         String koneksi = "jdbc:odbc:MS Access Database";
  140.         String user = "";
  141.         String password = "";
  142.        
  143.        
  144.         HashMap parameter = new HashMap();
  145.         parameter.put("nrk",txtNrk.getText());
  146.         Class.forName(driver);
  147.         Connection conn = DriverManager.getConnection(koneksi, user, password);
  148.        
  149.             File report_file = new File(nmFile);
  150.             JasperReport jasperReport = (JasperReport)JRLoader.loadObject(report_file.getPath() ); 
  151.             JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameter,conn);
  152.             JasperViewer.viewReport(jasperPrint,false);
  153.             JasperViewer.setDefaultLookAndFeelDecorated(true);
  154.     }
  155.     catch(Exception e){
  156.         JOptionPane.showMessageDialog(null,"Data tidak dapat dicetak! "+e,"Cetak Data", JOptionPane.ERROR_MESSAGE);
  157.     }
  158.    }
  159.    
  160.    void cetakSemuaPerPeriode(){
  161.     try{
  162.         String nmFile = "./Laporan/Laporan SK Jabatan(All).jasper";
  163.         String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  164.         String koneksi = "jdbc:odbc:MS Access Database";
  165.         String user = "";
  166.         String password = "";
  167.        
  168.        
  169.         HashMap parameter = new HashMap();
  170.         parameter.put("periode",txtPeriode.getText());
  171.         Class.forName(driver);
  172.         Connection conn = DriverManager.getConnection(koneksi, user, password);
  173.        
  174.             File report_file = new File(nmFile);
  175.             JasperReport jasperReport = (JasperReport)JRLoader.loadObject(report_file.getPath() ); 
  176.             JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameter,conn);
  177.             JasperViewer.viewReport(jasperPrint,false);
  178.             JasperViewer.setDefaultLookAndFeelDecorated(true);
  179.     }
  180.     catch(Exception e){
  181.         JOptionPane.showMessageDialog(null,"Data tidak dapat dicetak! "+e,"Cetak Data", JOptionPane.ERROR_MESSAGE);
  182.     }
  183.    }
  184.    
  185.    void cetakSemuaPeriode(){
  186.         try{
  187.         String nmFile = "./Laporan/Laporan SK Jabatan(Semua Periode).jasper";
  188.         String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
  189.         String koneksi = "jdbc:odbc:MS Access Database";
  190.         String user = "";
  191.         String password = "";
  192.        
  193.        
  194.         HashMap parameter = new HashMap();
  195.         Class.forName(driver);
  196.         Connection conn = DriverManager.getConnection(koneksi, user, password);
  197.        
  198.         File report_file = new File(nmFile);
  199.         JasperReport jasperReport = (JasperReport)JRLoader.loadObject(report_file.getPath() ); 
  200.         JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameter,conn);
  201.         JasperViewer.viewReport(jasperPrint,false);
  202.         JasperViewer.setDefaultLookAndFeelDecorated(true);
  203.     }
  204.     catch(Exception e){
  205.         JOptionPane.showMessageDialog(null,"Data tidak dapat dicetak! "+e,"Cetak Data", JOptionPane.ERROR_MESSAGE);
  206.     }
  207.    }
  208.    
  209.     public void actionPerformed(ActionEvent ae){
  210.        
  211.     if(cboBerdasarkan.getSelectedItem().toString().equals("Semua Pegawai")){
  212.         btnCari.setEnabled(false);
  213.         txtPeriode.setEnabled(true);
  214.         System.out.println(cboBerdasarkan.getSelectedItem().toString());
  215.         }
  216.         else{
  217.         btnCari.setEnabled(true);
  218.         txtPeriode.setEnabled(false);
  219.         }
  220.        
  221.    if(ae.getSource()==btnCari){
  222.         PopUpPegawai popuppegawai = new PopUpPegawai();
  223.         popuppegawai.setText(txtNrk);
  224.         popuppegawai.setModal(true);
  225.         popuppegawai.setVisible(true);
  226.         cari();
  227.         }
  228.     if(ae.getSource()==btnCetak){
  229.             if (cboBerdasarkan.getSelectedItem().equals("Semua Pegawai")){
  230.                 if(txtPeriode.getText().equals("")){
  231.                     cetakSemuaPeriode();}
  232.                     else{
  233.                         cetakSemuaPerPeriode();
  234.                     }
  235.             }
  236.             else{
  237.             cetakPerPegawai();
  238.             }
  239.         }
  240.         if(ae.getSource()==btnBersih){
  241.             bersih();
  242.         }
  243.    }
  244.    
  245.    public static void main (String[] args){
  246.         new CetakLapSkJabatan();
  247.         }
  248. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top