当前位置: 首页 > 知识库问答 >
问题:

在JAVA应用程序中使用RFID阅读器

司空玮
2023-03-14

我需要你的帮助:我必须读卡与RFID阅读器,在我的java应用程序。最后,当我点击按钮“Attributer Numéro RFID”时,它会读取我的RFID阅读器(型号:OCS ACRurw),然后将十六进制值插入jtextfield文本区域。(一开始,jTable会得到我数据库中每个用户的姓和名。这是我项目的代码。如果有人知道我点击“Attributer Numéro RFID”按钮时如何读取我的RFID阅读器,这将对我有很大帮助!谢谢!:)

共有1个答案

唐高卓
2023-03-14

这是我的应用程序代码:`

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;


//import com.sun.jdi.connect.spi.Connection;


/*
 * 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 BTS_SN
 */
public class IHM extends javax.swing.JFrame {

    /**
     * Creates new form IHM
     */
    int Li = -1;
    String UserSelected = "";
    String url = "jdbc:mysql://192.168.1.143:3306/projetdechetterie";
    String user = "Flavian";
        //String user = "root";
    String pwd = "";
    
    public IHM() {
        initComponents();
    }

    /**
     * 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();
        jButton1 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jTextField1 = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jButton3 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("Voir les utilisateurs en attente de création de carte");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 391, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jTable1.setName(""); // NOI18N
        jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTable1MouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTable1);

        jTextField1.setText("123456");
        jTextField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField1ActionPerformed(evt);
            }
        });

        jButton2.setText("Attribuer numéro RFID");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setText("jButton3");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jButton1)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(jPanel1Layout.createSequentialGroup()
                                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jLabel1)
                                    .addGap(81, 81, 81)
                                    .addComponent(jButton2))
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 398, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(44, 44, 44)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jButton3))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(323, 323, 323))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 242, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jButton2)
                            .addComponent(jLabel1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButton3)
                        .addGap(2, 2, 2)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 420, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //String url = "jdbc:mysql://192.168.1.143:3306/projetdechetterie";
        
        try {
            // TODO add your handling code here:
            
            //Class.forName("com.mysql.jdbc.Driver");
            //System.out.println("chargement du pilote reussi");
            Connection connection = DriverManager.getConnection(url,user,pwd);
            Statement  executionReq = connection.createStatement();
            System.out.println("Connexion Ok");
            //Execution Requete
            String requete = "SELECT `Nom`,`Prenom` FROM `t_clients` WHERE `statutCarte`= '2'";
            //String res;
            System.out.println(requete);
            ResultSet resultat = executionReq.executeQuery(requete);
            System.out.println("Connexion Ok");
            //ResultSetMetaData metadata = (ResultSetMetaData) resultat.getMetaData();
            //int NbrChamps= metadata.getColumnCount();
            //System.out.println("Connexion Ok");
            
            //ResultSet tables = metadata.getTables(connection.getCatalog(),null,"t_clients",null);
            String[] entete = new String[1];
            entete[0] = "Utilisateur";
            //System.out.println("Connexion Ok");
            String[] ligne = new String[1];
            //System.out.println("Connexion Ok");
            DefaultTableModel md = new DefaultTableModel();
            //System.out.println("Connexion Ok");
            md.setColumnIdentifiers(entete);
            //int i=0;
            //System.out.println("Connexion Ok");
            while(resultat.next())
            {
                String nomUtilisateur = resultat.getString("Nom")+" "+resultat.getString("Prenom");
                ligne[0] = nomUtilisateur;
                md.addRow(ligne);
            }
            jTable1.setModel(md);
            //System.out.println("Connexion Ok");
            /*md.setColumnIdentifiers(entete);
            requete="SELECT * FROM `t_clients`";
            //System.out.println(requete);
            //System.out.println("Connexion Ok");
            resultat= executionReq.executeQuery(requete);
            System.out.println("Connexion Ok");
            if(resultat.next())
            {
                System.out.println("Ca MARCHHH");
            }
            resultat.beforeFirst();
            /*while(resultat.next())
            {
                for (int j=0;j<NbrChamps;j++) ligne[j]=resultat.getObject(j+1);
                md.addRow(ligne);
            }
            jTable1.setModel(md);*/
            //System.out.println("Connexion Ok");
            //String col[] = { "S1", "S2", "S3", "S4", "S5", "S6"};
            //res = resultat.getMetaData();
            //Conditions Execution Requete
            
            /*if (metadata.getTableName(1))
            {
            System.out.println("Ca marche !");
            }
            else
            {
            System.out.println("Ca marche pas !");
            }*/
        }
        catch (SQLException ex) {
            //Logger.getLogger(IHM.class.getName()).log(Level.SEVERE, null, ex);
             System.out.println("Erreur Connexion");
        } /*catch (ClassNotFoundException ex) {
            Logger.getLogger(IHM.class.getName()).log(Level.SEVERE, null, ex);
        }*/
        
        
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        if (Li != -1)
        {
            if(jTextField1.getText() == "")
            {
                jLabel1.setText("Aucun numéro RFID spécifié");
            }
            else
            {
                try {
                    System.out.println("bon1");
                    String[] nUtilisateur = new String[2];
                    nUtilisateur = UserSelected.split(" ");
                    String nRFID = jTextField1.getText();
                    String reqAddRFID = "UPDATE `t_clients` SET `RFID`='"+nRFID+"' WHERE `Nom`='"+nUtilisateur[0]+"' AND `Prenom`='"+nUtilisateur[1]+"';";
                    //UPDATE `t_clients` SET `RFID`='"+nRFID+"' WHERE `Nom`='"+nUtilisateur[0]+"' AND `Prenom`='"+nUtilisateur[1]+"';
                    Connection connection = DriverManager.getConnection(url,user,pwd);
                    System.out.println("bon1.3");
                    Statement  executionReq = connection.createStatement();
                    System.out.println("bon1.6");
                    int resultat = executionReq.executeUpdate(reqAddRFID);
                    System.out.println("bon2");
                } catch (SQLException ex) {
                    Logger.getLogger(IHM.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        else
        {
            jLabel1.setText("Pas D'utilisateur Séléctionné");
        }
    }                                        

    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
    }                                           

    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        //jTextField1.setText("ghdyjg");
        JTable tableA = (JTable)evt.getSource();
        Li = tableA.getSelectedRow();
        UserSelected = (String)tableA.getValueAt(Li, 0);
        System.out.println(UserSelected);
        /*String liStr = String.valueOf(li);
        jTextField1.setText(liStr);*/
    }                                    

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        
    }                                        

    /**
     * @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 ex) {
            java.util.logging.Logger.getLogger(IHM.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(IHM.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(IHM.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(IHM.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new IHM().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration                   
}
 类似资料:
  • 问题内容: 我想阅读我的申请。如何找到其文件名? 问题答案: 如何找到其文件名? 您已经拥有了。也许您想找到绝对文件位置?您可以为此使用。 或者,如果您想直接获得它,请使用。

  • 问题内容: 背景 开发一个简单的Web应用程序(Eclipse + JBoss + Apache Tomcat)以生成XML文件。 问题 “业务区域”列表针对数据库查询,而“列集群”列表使用所选的“业务区域”项目查询数据库。这两个都是存储外部文本文件的唯一查询。 这些文件当前存储在以下位置: WebContent / META-INF / business-areas.sql WebContent

  • 嗨,我想从应用程序中读取值。财产。我发现这应该是可行的: 但我的数据源值为null。 我的应用程序上下文。xml如下所示: 有人能告诉我哪里有问题吗?

  • 我尝试在JAVA代码中调用MessageBoxA函数。以下方法有什么问题,以至于我的程序抛出了很多错误? 1-st: run:线程“main”java.lang.ClassFormatError:java.lang.ClassLoader的类文件加载/库/MessageBox中的本机或抽象方法中的代码属性。java.lang.ClassLoader.defineClass(ClassLoader.

  • 我需要根据特定的标签过滤器来阅读tweet,所以我用javahbc客户端试用了Twitter的流式api。首先,我尝试运行项目提供的示例代码,以便了解它是如何工作的。 所以我: 在twitter上声明一个应用程序生成了我的访问密钥、令牌和机密 已从下载项目包(https://github.com/twitter/hbc) 通过在示例项目pom中填写TODO字段来配置示例项目hbc示例。包含我的应用

  • 我有以下代码来读取java文件,并打印出行。我通过两种方式实现了它: 使用流: 使用循环: 我被告知这是错误的,使用缓冲读取器是错误地使用了语言的特性。有没有更好的方法,我想知道使用语言功能的正确方法。