Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.sun.media.jfxmedia.logging.Logger;
- import java.awt.Color;
- import java.awt.Component;
- import java.sql.Connection;
- import java.sql.SQLException;
- import javax.swing.table.DefaultTableModel;
- import koneksi.conek;
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- *
- * @author DBC115042
- */
- import java.util.List;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.Locale;
- import java.util.logging.Level;
- import java.util.logging.LogManager;
- import javax.swing.JLabel;
- import javax.swing.JTable;
- import javax.swing.UIManager;
- import javax.swing.table.TableCellRenderer;
- public class BandingData extends javax.swing.JFrame {
- List<String> arrReg = new ArrayList<String>();
- static List<String> arrRek = new ArrayList<String>();
- static List<String> arrPiu = new ArrayList<String>();
- final static java.util.logging.Logger logger = java.util.logging.Logger.getAnonymousLogger();
- /**
- * Creates new form BandingData
- */
- public BandingData() {
- initComponents();
- tampildtmhs();
- tampildtrek();
- //Menghighlight Cell Merah
- tblmhs.setDefaultRenderer(Object.class, new cellHighlighter());
- getPiutang();
- tambahPiutang();
- setLocationRelativeTo(this);
- }
- /**
- * 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.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jPanel1 = new javax.swing.JPanel();
- bKeluar = new javax.swing.JButton();
- jScrollPane2 = new javax.swing.JScrollPane();
- tblrek = new javax.swing.JTable();
- jScrollPane3 = new javax.swing.JScrollPane();
- tblmhs = new javax.swing.JTable();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- jPanel1.setBackground(new java.awt.Color(204, 204, 255));
- bKeluar.setText("Keluar");
- bKeluar.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- bKeluarActionPerformed(evt);
- }
- });
- tblrek.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {null},
- {null},
- {null},
- {null}
- },
- new String [] {
- "Nama Pada Rekening Koran"
- }
- ));
- jScrollPane2.setViewportView(tblrek);
- tblmhs.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {null},
- {null},
- {null},
- {null}
- },
- new String [] {
- "Nama Mahasiswa Registrasi"
- }
- ));
- jScrollPane3.setViewportView(tblmhs);
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addGap(25, 25, 25)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(bKeluar, javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
- .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(24, Short.MAX_VALUE))
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(bKeluar)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(52, Short.MAX_VALUE))
- );
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- pack();
- }// </editor-fold>
- private void bKeluarActionPerformed(java.awt.event.ActionEvent evt) {
- new MenuUtama().show();
- this.dispose();
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(BandingData.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- //</editor-fold>
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(() -> {
- new BandingData().setVisible(true);
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JButton bKeluar;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JScrollPane jScrollPane2;
- private javax.swing.JScrollPane jScrollPane3;
- private javax.swing.JTable tblmhs;
- private javax.swing.JTable tblrek;
- // End of variables declaration
- private void Banding() {
- }
- private void tampildtrek() {
- DefaultTableModel model = new DefaultTableModel();
- model.addColumn("Nama Mahasiswa Pada Rekening Koran");
- try {
- int no=1;
- String sql = "select nama from trek";
- java.sql.Connection conn=(Connection)conek.GetConnection();
- java.sql.Statement stm=conn.createStatement();
- java.sql.ResultSet res=stm.executeQuery(sql);
- while(res.next()){
- arrRek.add(res.getString(1));
- model.addRow(new Object[]{res.getString(1)});
- }
- Collections.sort(arrRek,new Comp());
- tblrek.setModel(model);
- } catch (SQLException e) {
- }
- }
- private void tampildtmhs() {
- DefaultTableModel model = new DefaultTableModel();
- model.addColumn("Nama Mahasiswa Regisrasi");
- try {
- int no=1;
- String sql = "select nama from tregmhs";
- java.sql.Connection conn=(Connection)conek.GetConnection();
- java.sql.Statement stm=conn.createStatement();
- java.sql.ResultSet res=stm.executeQuery(sql);
- while(res.next()){
- arrReg.add(res.getString(1));
- model.addRow(new Object[]{res.getString(1)});
- }
- Collections.sort(arrReg,new Comp());
- tblmhs.setModel(model);
- } catch (SQLException e) {
- }
- }
- public static boolean binarySearch(String toFind, List<String> arr){
- int lowestIndex = 0;
- int highestIndex = arr.size()-1;
- int middleIndex = 0;
- while (lowestIndex <= highestIndex){
- middleIndex = (lowestIndex+highestIndex)/2;
- if (toFind.compareTo(arr.get(middleIndex).toString()) > 0){
- lowestIndex = middleIndex+1;
- }else if (toFind.compareTo(arr.get(middleIndex).toString()) < 0){
- highestIndex = middleIndex-1;
- }else{
- break;
- }
- }
- if (lowestIndex>highestIndex){
- return false;
- }else{
- return true;
- }
- }
- public void tambahPiutang(){
- List<Mahasiswa> arrMHS = new ArrayList<Mahasiswa>();
- arrMHS.clear();
- for (int i=0;i<arrPiu.size();i++){
- try {
- String sql ="SELECT * FROM tregmhs WHERE Nama='"+arrPiu.get(i).toString()+"'";
- System.out.println(sql);
- java.sql.Connection conn=(Connection)conek.GetConnection();
- java.sql.Statement stm=conn.createStatement();
- java.sql.ResultSet res=stm.executeQuery(sql);
- while(res.next()){
- Mahasiswa mhs = new Mahasiswa(res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.getString(5));
- arrMHS.add(mhs);
- }
- } catch (SQLException e) {
- }
- }
- arrPiu.clear();
- for(int i = 0; i < arrMHS.size()-1; i++){
- try{
- String ket = "";
- String sql = "INSERT INTO tpiutang SELECT "
- + "'"+arrMHS.get(i).nama+"','"+arrMHS.get(i).nim+"','"+arrMHS.get(i).fak+"','"+arrMHS.get(i).prog+"',"+arrMHS.get(i).ukt+",'"+ket+"'"+
- " FROM dual WHERE NOT EXISTS (SELECT 1 FROM tpiutang WHERE Nama = "+"'"+arrMHS.get(i).nim+"')";
- java.sql.Connection conn=(Connection)conek.GetConnection();
- java.sql.PreparedStatement pst=conn.prepareStatement(sql);
- pst.execute();
- System.out.println(sql);
- }catch (SQLException e){
- }
- }
- }
- private static class Comp implements Comparator<String>{
- @Override
- public int compare(String string1, String string2) {
- return string1.compareTo(string2);
- }
- }
- private void getPiutang(){
- for (int i = 0; i<arrReg.size();i++){
- if(!binarySearch(arrReg.get(i).toString(),arrRek)){
- arrPiu.add(arrReg.get(i).toString());
- }
- }
- }
- private static class cellHighlighter extends JLabel implements TableCellRenderer{
- public cellHighlighter(){
- setOpaque(true);
- }
- @Override
- public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
- String val = (String) value;
- Color c;
- if (!binarySearch(val,arrRek)){
- c = Color.RED;
- }else {
- c = UIManager.getColor("Table.background");
- }
- setBackground(c);
- setText(val);
- return this;
- }
- }
- static class Mahasiswa{
- String nama;
- String nim;
- String fak;
- String prog;
- String ukt;
- Mahasiswa(String nm, String nmm, String fk, String prg, String ukt2){
- this.nama = nm;
- this.nim = nmm;
- this.fak = fk;
- this.prog = prg;
- this.ukt = ukt2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement