elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 ... 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [57] 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ... 139
561  Programación / Java / Re: Proyectos en NetBeans problemas al ejecutar en: 1 Mayo 2019, 21:29 pm
Saludos,

- Como rub'n ya había dicho en un post anterior, tienes que ir a Run > Clean and Build para limpiar y actualizar tu proyecto.

Tal cual doc, pero me he dado cuenta que con 14 a 15 años, nos tienen que repetir las cosas unass cuántas veces, y ni hablar de 30  :xD
562  Programación / Java / Re: Formateo dinámico en JTextField en: 1 Mayo 2019, 20:34 pm
  • Primero obtén el valor del JTextField
  • Conviértelos a un array lista lo que quieras, que sea un array o lista XD
  • Luego recorres esa lista
  • Cuentas 2 posiciones y le setteas un " "  >:D



Código
  1. package com.prueba.foro;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.util.function.Predicate;
  5. import java.util.stream.Collectors;
  6. import java.util.stream.IntStream;
  7.  
  8. /**
  9.  * @autor rub´n
  10.  */
  11. public class FormatearJTextField extends JFrame {
  12.  
  13.    private final JLabel jLabelTitulo = new JLabel("Introduce 10 números, enter para validar");
  14.    private final JTextField jTextField = new JTextField();
  15.    private final JLabel jLabel = new JLabel("Resultado: ");
  16.    private final JPanel mainJPanel = new JPanel();
  17.  
  18.    private static final String ESPACIOS = "\\s+";
  19.    private static final String LETRAS = "[a-zA-Z]+";
  20.    private static final String NUMEROS_HASTA_10 = "[0-9]{10}";
  21.    private static final String NUMEROS = "[0-9]+";
  22.  
  23.    public FormatearJTextField() {
  24.        super("Formatear JTextField 00 00 00...");
  25.  
  26.        configureLayouts();
  27.  
  28.        configureJFrame();
  29.    }
  30.  
  31.    private void configureJFrame() {
  32.        add(mainJPanel);
  33.        setResizable(Boolean.FALSE);
  34.        setPreferredSize(new Dimension(366, 150));
  35.        pack();
  36.        setLocationRelativeTo(null);
  37.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38.        setVisible(true);
  39.    }
  40.  
  41.    private void configureLayouts() {
  42.        mainJPanel.setLayout(new BoxLayout(mainJPanel, BoxLayout.Y_AXIS));
  43.        mainJPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  44.        mainJPanel.add(jLabelTitulo, BorderLayout.NORTH);
  45.        mainJPanel.add(Box.createVerticalStrut(20));
  46.        mainJPanel.add(jTextField, BorderLayout.CENTER);
  47.        mainJPanel.add(Box.createVerticalStrut(20));
  48.        mainJPanel.add(jLabel, BorderLayout.SOUTH);
  49.  
  50.        listenerJTextField();
  51.    }
  52.  
  53.    /**
  54.      * Listener del JTextField
  55.      */
  56.    private void listenerJTextField() {
  57.        jTextField.addActionListener(e -> {
  58.            final String valor = jTextField.getText();
  59.  
  60.            final Predicate<String> predicate = p -> p.replaceAll(ESPACIOS,"")
  61.                    .matches(NUMEROS_HASTA_10);
  62.  
  63.            if (validar(valor, predicate)) {
  64.                JOptionPane.showMessageDialog(null, "Valores correctos");
  65.  
  66.                final char[] chars = valor.toCharArray();
  67.                String sResultado = IntStream.range(0, chars.length)
  68.                        .mapToObj(index -> chars[index])
  69.                        .collect(Collectors.toList())
  70.                        .toString()
  71.                        .replaceAll(ESPACIOS, "")//quitar espacios en blanco
  72.                        .replaceAll(",", "")//remover ,
  73.                        .replaceAll("\\[", "")//remover [
  74.                        .replaceAll("\\]", "");//remover ]
  75.  
  76.                final StringBuilder sb = new StringBuilder();
  77.                for (int f = 0; f < sResultado.length() - 1; f += 2) {
  78.                    sb.append(sResultado.substring(f, (f + 2)).concat(" "));
  79.                }
  80.  
  81.                jLabel.setText("");
  82.                jLabel.setText("Resultado: " + sb.toString());
  83.                jTextField.setText(sb.toString());
  84.  
  85.            } else {
  86.                final String sError = valor.replaceAll(ESPACIOS,"");
  87.                if (validar(sError, p -> p.matches(LETRAS))) {
  88.                    JOptionPane.showMessageDialog(null, "Valores invalidos");
  89.                 } else if(validar(sError, p -> p.matches(NUMEROS))) {
  90.                    JOptionPane.showMessageDialog(null, "cantidad de numeros es: " + sError.length());
  91.                } else {
  92.                    JOptionPane.showMessageDialog(null, "Valores invalidos");
  93.                }
  94.            }
  95.        });
  96.    }
  97.  
  98.    /**
  99.      * Validador
  100.      *
  101.      * @param value valor obtenido del JTextField
  102.      * @return boolean
  103.      */
  104.    private boolean validar(final String value, final Predicate<String> predicate) {
  105.        return predicate.test(value);
  106.    }
  107.  
  108.    public static void main(String... blabla) {
  109.        new Thread(FormatearJTextField::new).start();
  110.    }
  111. }
  112.  

563  Programación / Java / Re: Formateo dinámico en JTextField en: 1 Mayo 2019, 20:13 pm
Te refieres a cuando obtengas el valor del JTextField que lo formateé de esa manera?
564  Comunicaciones / Redes / Re: Enlace Wifi entre 2 pisos en: 1 Mayo 2019, 18:27 pm
Si la quieres emitir por dentro del piso, mejor usa un power line comunication


Y para enlaces lejanos, pues antenas , vas bien con esas. aunque puede meterle mas hierro al asunto dog.

y eso me lo enseño HDM, sobre los power line
565  Programación / Java / Re: Alguna forma de poner un ico a un archivo creado en Netbeans en: 1 Mayo 2019, 01:57 am
Hola a todos, tengo este código que crea un archivo .exe, funciona sin problema pero lo que quiero saber es si hay alguna forma de que al crearlo tenga un ico en especial ya que me da un ico genérico y quisiera que se mostrara un ico personalizado, no se si se puede hacer directamente desde el código de java, gracias de antemano.

Código:
String ruta="C:/Cotizatel/LICENCIA.exe"; 
File file = new File (ruta);
if(!file.exists())
{
                            System.out.println("No existe");               
                            FileWriter fw = new FileWriter (file.getAbsoluteFile());
                            BufferedWriter bw = new BufferedWriter(fw);
                            String p=password;
                           
                            char array[]=p.toCharArray();
                            for(int m=0;m<array.length;m++)
                            {
                                array[m]=(char)(array[m]+(char)5);
                            }
                            String cifrado =String.valueOf(array); 
                            p=cifrado;
                           
                            try
                            {           
                                Runtime.getRuntime().exec("attrib +H +R "+ruta);
                            }
                            catch(Exception e)
                            {
                            }
                       
                            bw.write(p);
                            bw.close();
                            fw.close();
                            System.out.println("Creado correctamente");
}

Un icono generico? ese .exe ya no tiene uno ?
566  Programación / Java / Re: Manual primefaces en: 1 Mayo 2019, 01:51 am
Hola, estoy buscando un super manual de primefaces y jfs en español, si alguien sabe de uno me lo dice porfis  ;-)

yo creo que esta bastante dificil eso chavalina, la mayoria en ingles. tendremos que pagarte un curso si reunimos money todos los del foro.
567  Programación / Java / Re: Leer datos de un fichero y crear una lista con ellos en: 1 Mayo 2019, 01:40 am
Buenas, estoy intentando realizar un ejercicio pero no logro sacarlo, la idea es leer los datos de un fichero en java y luego almacenarlo en una lista de objetos. El enunciado del ejercicio es el siguiente y el código que tengo yo hecho es el siguiente:

Realiza un programa que lea los datos del ejercicio 4. Para ello creará una lista de objetos de tipo Vehiculo. El programa irá almacenando en la lista los objetos leídos desde el archivo de texto “vehículos.txt”. Una vez cargados todos los datos en la lista, ordena los vehículos por Marca y muestra el resultado por consola.

public class Ejercicio7 {

    public static void main(String[] args) {
        String idFichero = "vehiculos.txt";

        String linea;
        ArrayList<Vehiculo>lista=new ArrayList<>();

        System.out.println("Leyendo el fichero: " + idFichero);

        try (Scanner datosFichero = new Scanner(new File(idFichero))) {

            while (datosFichero.hasNextLine()) {
              
                linea = datosFichero.nextLine();
                lista.add(linea);
                for (int i = 0; i < lista.size(); i++) {
                    System.out.println(lista.get(i));
                }

            }

        } catch (FileNotFoundException e) {
            System.out.println(e.getMessage());
        }
    }
}

Gracias de antemano

Que tal, como esta diseñado el fichero ?

 * Use aqui fluent api
 * Tiene JFileChooser, al ejecutar lo usas para importar el .txt
 


Uso
Código
  1. new ILeerVehiculos.LeerVehiculoImpl<>()
  2.       .buscarFichero()
  3.       .procesarFichero()
  4.       .ordenarPorMarca()
  5.       .make();


Código
  1. /**
  2.  *
  3.  * @param <T>
  4.  */
  5. @FunctionalInterface
  6. public interface IBuilder<T> extends ShowData  {
  7.    T make();
  8. }

Bean Vehiculo

Código
  1. package com.foro.leerfichero;
  2. import java.util.Objects;
  3. import java.util.function.Consumer;
  4. /**
  5.  * @implSpec THREAD-SAFE
  6.  * Bean Vehiculo
  7.  */
  8. public final class Vehiculo {
  9.  
  10.  
  11.    private final String marca;
  12.    private final String modelo;
  13.  
  14.    public Vehiculo(final Vehiculo.Builder vb) {
  15.        this.marca = vb.marca;
  16.        this.modelo = vb.modelo;
  17.    }
  18.  
  19.    public String getMarca() {
  20.        return marca;
  21.    }
  22.  
  23.    public String getModelo() {
  24.        return modelo;
  25.    }
  26.  
  27.    @Override
  28.    public boolean equals(Object o) {
  29.        if (this == o) return true;
  30.        if (!(o instanceof Vehiculo)) return false;
  31.        Vehiculo vehiculo = (Vehiculo) o;
  32.        return Objects.equals(marca, vehiculo.marca) &&
  33.                Objects.equals(modelo, vehiculo.modelo);
  34.    }
  35.  
  36.    @Override
  37.    public int hashCode() {
  38.        return Objects.hash(marca, modelo);
  39.    }
  40.  
  41.    @Override
  42.    public String toString() {
  43.        final StringBuilder sb = new StringBuilder();
  44.        sb.append("Marca: ").append(marca);
  45.        sb.append(" Modelo: ").append(modelo).append("\n");
  46.        return sb.toString();
  47.    }
  48.  
  49.  
  50.    /**
  51.      * Builder
  52.      */
  53.    public static class Builder implements IBuilder<Vehiculo> {
  54.  
  55.        private String marca;
  56.        private String modelo;
  57.  
  58.        public Builder con(final Consumer<Builder> consumer) {
  59.            consumer.accept(this);
  60.            return this;
  61.        }
  62.  
  63.        @Override
  64.        public Vehiculo make() {
  65.            return new Vehiculo(this);
  66.        }
  67.    }
  68. }
  69.  
  70.  

Código
  1. package com.foro.leerfichero;
  2.  
  3. import javax.swing.*;
  4. import javax.swing.filechooser.FileNameExtensionFilter;
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.nio.charset.Charset;
  8. import java.nio.file.Paths;
  9. import java.util.*;
  10. import java.nio.file.Files;
  11. import java.nio.file.Path;
  12. import java.util.stream.Collectors;
  13.  
  14. /**
  15.  * @autor rub'n
  16.  */
  17. public interface ILeerVehiculos {
  18.  
  19.   interface Builder<T> {
  20.  
  21.        /**
  22.          * Busca el fichero por medio del JFileChooser
  23.          * @return
  24.          */
  25.        Builder<T> buscarFichero();
  26.  
  27.        /**
  28.          *
  29.          * @return leer el fichero
  30.          */
  31.        Builder<T> procesarFichero();
  32.  
  33.        /**
  34.          *
  35.          * @return ordenar por la marca
  36.          */
  37.        Builder<T> ordenarPorMarca();
  38.  
  39.        /**
  40.          *  Mutador
  41.          * @return
  42.          */
  43.        T make();
  44.  
  45.    }
  46.  
  47.    @SuppressWarnings("unchecked")
  48.    public abstract class AbtractBaseClass<T> implements Builder<T> {
  49.  
  50.        private final List<Vehiculo> vehiculoList = new ArrayList<>();
  51.        private List<String> datosLeidos = new ArrayList<>();
  52.        private Path pathFichero;
  53.  
  54.        public AbtractBaseClass() {
  55.  
  56.        }
  57.  
  58.        @Override
  59.        public Builder<T> buscarFichero() {
  60.            final JFileChooser fileChooser = new JFileChooser();
  61.            fileChooser.setFileFilter(new FileNameExtensionFilter("archivo .txt","txt"));
  62.            fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
  63.            final int opc = fileChooser.showOpenDialog(null);
  64.            if(opc == JFileChooser.CANCEL_OPTION) {
  65.                JOptionPane.showMessageDialog(null,"No ha seleccionado fichero");
  66.                System.exit(0);
  67.            }
  68.            this.pathFichero =fileChooser.getSelectedFile().toPath().toAbsolutePath();
  69.            return this;
  70.        }
  71.  
  72.        @Override
  73.        public Builder<T> procesarFichero() {
  74.            if(Objects.nonNull(pathFichero)) {
  75.                try (final BufferedReader br = Files.newBufferedReader(pathFichero, Charset.defaultCharset())) {
  76.                    datosLeidos = br.lines()
  77.                            .map(e -> e.replaceAll("\\s+", "-")) //flag
  78.                            .filter(e -> !e.startsWith("Marca") && !e.isEmpty()) // ignorar la primera linea
  79.                            .collect(Collectors.toList()); // convertimos en lista de Strings
  80.  
  81.                    datosLeidos
  82.                            .forEach(e -> {
  83.                                String marca = e.split("-")[0];
  84.                                String modelo = e.split("-")[1];
  85.                                final Vehiculo vehiculo = new Vehiculo.Builder()
  86.                                        .con(param -> {
  87.                                            param.marca = marca;
  88.                                            param.modelo = modelo;
  89.                                        })
  90.                                        .make();
  91.                                vehiculoList.add(vehiculo);
  92.                            });
  93.  
  94.                } catch (IOException ex) {
  95.                    ex.printStackTrace();
  96.                }
  97.            } else {
  98.                   JOptionPane.showMessageDialog(null,"Path nullo");
  99.            }
  100.            return this;
  101.        }
  102.  
  103.        @Override
  104.        public Builder<T> ordenarPorMarca() {
  105.            vehiculoList
  106.                    .stream()
  107.                    .sorted(Comparator.comparing(Vehiculo::getMarca)) // ordenamos en base a la marca
  108.                    .forEach(System.out::println); //salida
  109.  
  110.            return this;
  111.        }
  112.  
  113.    }
  114.  
  115.    /**
  116.      *
  117.      * @param <T>
  118.      */
  119.    public class LeerVehiculoImpl<T> extends AbtractBaseClass<LeerVehiculoImpl> {
  120.  
  121.        @Override
  122.        public LeerVehiculoImpl make() {
  123.            return new LeerVehiculoImpl();
  124.        }
  125.    }
  126.  
  127.    public static void main(String ...blablabla) {
  128.  
  129.        new ILeerVehiculos.LeerVehiculoImpl<>()
  130.                .buscarFichero()
  131.                .procesarFichero()
  132.                .ordenarPorMarca()
  133.                .make();
  134.    }
  135. }
  136.  

Posible fichero Vehiculos.txt

Código
  1. Marca         Modelo
  2.  
  3. Bugati        Chiron
  4. Maserati      Quattroporte
  5. Suzuki        Baleno
  6. Lamborghini   Huracan
  7.  
  8.  

OutPut por consola

Código
  1. Marca: Bugati Modelo: Chiron
  2.  
  3. Marca: Lamborghini Modelo: Huracan
  4.  
  5. Marca: Maserati Modelo: Quattroporte
  6.  
  7. Marca: Suzuki Modelo: Baleno
  8.  
  9.  
  10. Process finished with exit code 0



Versión con ObjectInputStream y ObjectOuputStream, aquí los Bean a escribir deben implementar a Serializable

Código
  1. package archivos;
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.BufferedOutputStream;
  5. import java.io.IOException;
  6. import java.io.ObjectInputStream;
  7. import java.io.ObjectOutputStream;
  8. import java.io.Serializable;
  9. import java.nio.file.Files;
  10. import java.nio.file.Path;
  11. import java.nio.file.Paths;
  12. import java.nio.file.StandardOpenOption;
  13. import java.util.Collections;
  14. import java.util.Comparator;
  15. import java.util.List;
  16. import java.util.concurrent.CopyOnWriteArrayList;
  17.  
  18. import beans.Persona;
  19.  
  20. /**
  21.  *
  22.  *
  23.  */
  24. public class ConObjectIOStream implements Serializable {
  25.  
  26.        /**
  27.          *
  28.          */
  29.        private static final long serialVersionUID = 1513236979625800662L;
  30.  
  31.  
  32.        /**
  33.          *
  34.          */
  35.        public ConObjectIOStream() {
  36.  
  37.                //writeToFile();
  38.                writePersonToTempFile();
  39.                final List<Persona> listaPersona = readFromFile();
  40.                /**
  41.                  * Ordenar por nombres alfabeticamente
  42.                  */
  43.                listaPersona
  44.                        .stream()
  45.                        .sorted(Comparator.comparing(Persona::getNombre))
  46.                        .forEach(System.out::println);
  47.        }
  48.  
  49.        private List<Persona> readFromFile() {
  50.                final List<Persona> listaPersona = new CopyOnWriteArrayList<>();
  51.                final Path pathAlimento = Paths.get("resources/temporal.tmp");
  52.                try(final BufferedInputStream bin = new BufferedInputStream(Files.newInputStream(pathAlimento));
  53.                        final ObjectInputStream ob = new ObjectInputStream(bin)) {
  54.  
  55.                        while(Boolean.TRUE) {
  56.                                synchronized (this) { //en caso de que readFrom se invoque desde un Thread()
  57.                                        final Object object = ob.readObject();
  58.                                        if(object instanceof Persona) {
  59.                                                listaPersona.add((Persona)object);
  60.                                        }
  61.                                }
  62.                        }
  63.  
  64.                } catch (IOException | ClassNotFoundException e) {
  65.                        //no hacer nada EOFException
  66.                }
  67.                return Collections.unmodifiableList(listaPersona);
  68.        }
  69.  
  70.        private void writePersonToTempFile() {
  71.  
  72.                final Persona persona1 = new Persona();
  73.                persona1.setNombre("Rubn");
  74.                persona1.setApellido("la muerte");
  75.                persona1.setCorreo("rdjfjfjjf@gmail.com");
  76.                persona1.setEdad(30);
  77.  
  78.                final Persona persona2 = new Persona();
  79.                persona2.setNombre("Aaaaa");
  80.                persona2.setApellido("Espia");
  81.                persona2.setCorreo("fffffffp@gmail.com");
  82.                persona2.setEdad(27);
  83.  
  84.                final Persona persona3 = new Persona();
  85.                persona3.setNombre("malware");
  86.                persona3.setApellido("wannacry");
  87.                persona3.setCorreo("testbma a@gmail.com");
  88.                persona3.setEdad(27);
  89.  
  90.  
  91.                final Path pathTem = Paths.get("resources/temporal.tmp");
  92.  
  93.                try( final BufferedOutputStream bos = new BufferedOutputStream(Files.newOutputStream(pathTem, StandardOpenOption.CREATE));
  94.                         final ObjectOutputStream ob = new ObjectOutputStream(bos)) {
  95.  
  96.                        synchronized (this) {
  97.                                ob.writeObject(persona1);
  98.                                ob.writeObject(persona2);
  99.                                ob.writeObject(persona3);
  100.                        }
  101.  
  102.                }catch (IOException e) {
  103.                        e.printStackTrace();
  104.                }
  105.  
  106.        }
  107.  
  108.        public static void main(String[] args) {
  109.                new ConObjectIOStream();
  110.        }
568  Foros Generales / Foro Libre / Re: Vomitar comida sin procesar de 48 horas en: 1 Mayo 2019, 00:59 am
Nunca he visto ese post, así que no puedo haberlo publicado yo. xD

No he ido al médico así que esto ha quedado en una anécdota que quizás algún dia le contaré al médico cuando vaya, o quizás no. Gracias por preguntar.


bueno al menos, estas vivo socio.
569  Foros Generales / Foro Libre / Re: Vomitar comida sin procesar de 48 horas en: 1 Mayo 2019, 00:17 am
Debe ser que tu no viste el post donde el usuario buscaba toallas bordadas... jajajajaaaaa...

Creo que el posteante es el mismo Elektro, pero no lo puedo asegurar...

 :rolleyes: :o :rolleyes:

Saludos.

y como no va a ser el popular elektro ?
570  Foros Generales / Foro Libre / Re: Vomitar comida sin procesar de 48 horas en: 30 Abril 2019, 12:16 pm
Elektro ya descansa en paz... si... se le quitó el vomito y está de nuevo programando en compañía de su amada gata que al parecer es una as del teclado al igual que el...

 :rolleyes: :o :rolleyes:

Saludos.

Muy chistoso dog, vamos a ver q nos dice el.  >:D
Páginas: 1 ... 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [57] 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ... 139
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines