Advertisement
Guest User

Untitled

a guest
Oct 4th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.31 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement