Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DEPENDENCIAS PARA EL POM.XML
- <dependency>
- <groupId>net.glxn</groupId>
- <artifactId>qrgen</artifactId>
- <version>1.2</version>
- </dependency>
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
- //DIALOGO PARA GUARDAR EL QR GENERADO
- JFileChooser fc = new JFileChooser();
- //OBTENER LA RESPUESTA
- int rv = fc.showDialog(jPanel1, null);
- if(rv==JFileChooser.APPROVE_OPTION)
- {
- try
- {
- //OBTENER LA RUTA Y COLOCAR LA EXTENSION
- //DEL ARCHIVO
- String ruta = fc.getSelectedFile().getAbsolutePath() + ".png";
- //CREAR EL ARCHIVO
- fout = new FileOutputStream(new File(ruta));
- //ESCRIBIR EL CONTENIDO DEL ARCHIVO
- fout.write(out.toByteArray());
- //LIBERAR MEMORIA
- fout.flush();
- fout.close();
- }
- catch(Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.getMessage());
- }
- }
- }//GEN-LAST:event_jButton1ActionPerformed
- FileOutputStream fout;
- ByteArrayOutputStream out;
- private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyReleased
- //VERIFICAR QUE TENGA LETRAS ESCRITAS
- if(jTextField1.getText().length()==0)
- return;
- //OBTENER EL TEXTO ESCRITO
- String t = jTextField1.getText();
- //RECIBIR STREAM DEL QR GENERADO
- //POR LA LIBRERIA QRCode
- out = QRCode.from(t).withSize(250, 250).to(ImageType.PNG).stream();
- try
- {
- //CREAR EL ARCHIVO
- fout = new FileOutputStream(new File("temp.png"));
- //ESCRIBIR EL CONTENIDO DEL ARCHIVO
- fout.write(out.toByteArray());
- //LIBERAR MEMORIA
- fout.flush();
- fout.close();
- //MOSTRAR LA IMAGEN GENERADA
- //LEER LA IMAGEN
- BufferedImage miQr = ImageIO.read(new File("temp.png"));
- //DIBUJARLA EN UN CONTROL
- JLabel label = new JLabel(new ImageIcon(miQr));
- //OBTENER EL LIENZO DEL JPANEL
- //PARA PODER DIBUJAR LA IMAGEN
- //SOBRE ÉL
- Graphics g = jPanel1.getGraphics();
- //DIBUJAR LA IMAGEN
- g.drawImage(miQr, WIDTH, WIDTH, label);
- }
- catch(Exception ex)
- {
- JOptionPane.showMessageDialog(null, ex.getMessage());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment