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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 139
71  Programación / Java / Re: llenar un jcombobox usando el método set - get de una clase en: 27 Septiembre 2021, 22:20 pm
Amigo eres un crack enserio  ;-) ;-) ;-)

pero lo que busco es esto , perdón por no poner una imagen antes, no sabia como  




guardaré los datos del formulario en el que se encuentra jComboBox , para
hacer otro formulario que me muestre trabajador vendió mas cual vendió menos

-> usado la clase cliente guardare registro de mis clientes


Creo que tienes dos JInternalFrame o no? dentro de JFrame...

  • Puedes hacer que cada vez que insertes un trabajador almacenarlos en una Lista de trabajadores (por ejemplo) y pasar esa lista como parametro al otro JInternalFrame.
    ya tienes un boton llamado insertar usalo.
  • Debes hacer un @Override del metodo @ToString() de la clase Trabajador. como te lo puse en el ejemplo, logrando que solo salga el nombre del trabajador en el JComboBox
  • Los JInternaFrame deben hacer composicion de modo que cuando uses el boton insertar, llames a un metodo del JInternalFrame que contiene el JComboBox

Código
  1. /**
  2.  * @author rubn
  3.  */
  4. public class FillJComboBoxWithJTextFields extends JFrame {
  5.  
  6.    private JTextField textField = new JTextField();
  7.    private JTextField textField2 = new JTextField();
  8.    private JTextField textField3 = new JTextField();
  9.  
  10.    private JLabel labelNombre = new JLabel("Agregar Nombre", SwingConstants.LEFT);
  11.    private JLabel labelApellido = new JLabel("Agregar Apellido", SwingConstants.LEFT);
  12.    private JLabel labelCorreo = new JLabel("Agregar Correo", SwingConstants.LEFT);
  13.  
  14.    private JButton button = new JButton("Insertar");
  15.    private JButton limpiar = new JButton("Limpiar todo");
  16.    private JPanel jPanelFormulario = new JPanel();
  17.    private JInternalFrame jInternalFrame = new JInternalFrame();
  18.    private FrTrabajadores jInternalFrame2 = new FrTrabajadores();
  19.    private final JDesktopPane jDesktopPane = new JDesktopPane();
  20.  
  21.    public FillJComboBoxWithJTextFields() {
  22.        super.setTitle("Fill JComboBox");
  23.  
  24.        super.pack();
  25.        super.setSize(650, 420);
  26.        super.setLocationRelativeTo(null);
  27.        super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.        super.setVisible(true);
  29.  
  30.        this.initBehaviour();
  31.        this.configureJInternalFrames();
  32.  
  33.    }
  34.  
  35.    private void configureJInternalFrames() {
  36.  
  37.        jPanelFormulario.setLayout(new BoxLayout(jPanelFormulario, BoxLayout.Y_AXIS));
  38.        jPanelFormulario.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  39.        jPanelFormulario.add(leftJLabel(this.labelNombre));
  40.        jPanelFormulario.add(textField);
  41.        jPanelFormulario.add(Box.createVerticalStrut(10));
  42.        jPanelFormulario.add(leftJLabel(this.labelApellido));
  43.        jPanelFormulario.add(textField2);
  44.        jPanelFormulario.add(Box.createVerticalStrut(10));
  45.        jPanelFormulario.add(leftJLabel(this.labelCorreo));
  46.        jPanelFormulario.add(textField3);
  47.        jPanelFormulario.add(Box.createVerticalStrut(10));
  48.  
  49.        JPanel jPanelHorizontal = new JPanel();
  50.        jPanelHorizontal.add(this.button);
  51.        jPanelHorizontal.add(this.limpiar);
  52.        jPanelFormulario.add(jPanelHorizontal);
  53.  
  54.        Stream.of(button, limpiar)
  55.                .forEach(buttons -> buttons.setBorderPainted(false));
  56.  
  57.        this.jInternalFrame.add(this.jPanelFormulario);
  58.  
  59.        jInternalFrame.setSize(new Dimension(300, 250));
  60.        jInternalFrame.setIconifiable(true);
  61.        jInternalFrame.setVisible(true);
  62.  
  63.        jDesktopPane.add(this.jInternalFrame);
  64.        jDesktopPane.add(this.jInternalFrame2);
  65.        jDesktopPane.setSize(new Dimension(500, 600));
  66.        super.add(jDesktopPane, BorderLayout.CENTER);
  67.    }
  68.  
  69.    /**
  70.      * * Comportamiento del boton donde se extraen los valores de los JTextField
  71.      * * También listener del botón de limpieza
  72.      */
  73.    private void initBehaviour() {
  74.        this.button.addActionListener((ActionEvent event) -> {
  75.  
  76.            String nombre = textField.getText().trim();
  77.            String apellido = textField2.getText().trim();
  78.            String correo = textField3.getText().trim();
  79.            if (Stream.of(nombre, apellido, correo)
  80.                    .noneMatch(String::isEmpty)) {
  81.                final Trabajador trabajador = new Trabajador();
  82.                trabajador.setNombre(nombre);
  83.                trabajador.setApellido(apellido);
  84.                trabajador.setCorreo(correo);
  85.                this.jInternalFrame2.getjComboBox().addItem(trabajador);
  86.            } else {
  87.                JOptionPane.showMessageDialog(this, "Llenar todos los inputs",
  88.                        "Error", JOptionPane.ERROR_MESSAGE);
  89.            }
  90.  
  91.        });
  92.  
  93.        this.limpiar.addActionListener((ActionEvent event) -> {
  94.            this.jInternalFrame2.getjComboBox().removeAllItems();
  95.            Stream.of(textField, textField2, textField3)
  96.                    .forEach((JTextField jTextField) -> jTextField.setText(""));
  97.        });
  98.  
  99.    }
  100.  
  101.    public static JPanel leftJLabel(final JLabel jLabel) {
  102.        final JPanel panel = new JPanel(new BorderLayout());
  103.        panel.add(jLabel, BorderLayout.LINE_START);
  104.        return panel;
  105.    }
  106.  
  107.    public static void main(String[] args) {
  108.        try {
  109.            UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
  110.        }
  111.        new Thread(FillJComboBoxWithJTextFields::new).start();
  112.    }
  113. }

JInternalFrame de Trabajadores

Código
  1. package com.forotest;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. /**
  7.  * @author rubn
  8.  */
  9. public class FrTrabajadores extends JInternalFrame {
  10.    private JComboBox<Trabajador> jComboBox = new JComboBox<>();
  11.    private JPanel panel = new JPanel();
  12.    private JLabel jLabel = new JLabel("Trabajadores");
  13.  
  14.    public FrTrabajadores() {
  15.        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  16.        panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  17.        panel.add(FillJComboBoxWithJTextFields.leftJLabel(this.jLabel));
  18.        panel.add(Box.createVerticalStrut(10));
  19.        panel.add(this.jComboBox);
  20.        super.add(panel);
  21.        super.setIconifiable(true);
  22.        super.setVisible(true);
  23.        super.setBounds(320,0,0,0);
  24.        super.setSize(new Dimension(300,100));
  25.    }
  26.  
  27.    public JComboBox<Trabajador> getjComboBox() {
  28.        return jComboBox;
  29.    }
  30. }
  31.  



72  Foros Generales / Foro Libre / Re: Insólito estudio sobre rinocerontes colgados boca abajo gana un premio Ig Nobel en: 27 Septiembre 2021, 03:44 am
Una mismisima locura esto.


Pazzzzzz

73  Programación / Scripting / Re: Duda con Uploader y NodeJS en: 27 Septiembre 2021, 03:38 am
Buenas,

Tengo unas dudas respecto a un uploader de archivos a una web (servidor), lo que viene a ser la web de html/php/jquey seria todos los datos que te muestran en tiempo real, y quiero saber si para mantener la web en tiempo real hacerlo con nodejs o con objetos de javascript. Al igual que subir los archivos al servidor donde se guardaran los archivos, si hacer que se suban con nodejs o objetos javascript.

¿tendria que tener la web alojada en servidor nodejs para mantener todo a tiempo real al igual que subir archivos a servidor?

Cualquier informacion adicional lo agradeceria.

Saludos

Si necesitas subir un archivo a un servidor, este por razones claras, debe estar desplegado en internet.

incluso en tu local tambien puedes tener desplegado tu servidor con node.js ( es decir tu backend ) y subir tus files ahi ( y dichos archivos estaran alojados en tu pc )

Ahora el cliente, contruyete uno con js / html / css.

Tira por Angular o React ( esto sera tu client-side / lado del cliente que conectara por medio de una interface UI a tu backend (node) que es lo que deseas)
74  Programación / Java / Re: llenar un jcombobox usando el método set - get de una clase en: 25 Septiembre 2021, 22:53 pm
en el formulario 2 quiero que en el jcombobox aparezcan los nombres que inserte
en e formulario 1

El Formulario uno tienes JTextfields ?

Debes obtener los valores de esos campos de cada uno y luego llenar el JComboBox.


Mira la linea 51 a 71, donde usamos los valores del JTextField para llenar el JComboBox,

* Linea 57, 58, 59 el método getText() contiene el valor de el input o JTextField

Código
  1. class Trabajador {
  2.    private String nombre;
  3.    private String apellido;
  4.    private String correo;
  5.  
  6.    public String getNombre() {
  7.        return nombre;
  8.    }
  9.  
  10.    public void setNombre(String nombre) {
  11.        this.nombre = nombre;
  12.    }
  13.  
  14.    public String getApellido() {
  15.        return apellido;
  16.    }
  17.  
  18.    public void setApellido(String apellido) {
  19.        this.apellido = apellido;
  20.    }
  21.  
  22.    public String getCorreo() {
  23.        return correo;
  24.    }
  25.  
  26.    public void setCorreo(String correo) {
  27.        this.correo = correo;
  28.    }
  29.  
  30.    @Override
  31.    public String toString() {
  32.        final StringBuilder sb = new StringBuilder();
  33.        sb.append(this.nombre);
  34.        return sb.toString();
  35.    }
  36. }
  37.  

Código
  1.  
  2. /**
  3.  * @author rubn
  4.  */
  5. public class FillJComboBoxWithJTextFields extends JFrame {
  6.  
  7.    private JTextField textField = new JTextField();
  8.    private JTextField textField2 = new JTextField();
  9.    private JTextField textField3 = new JTextField();
  10.  
  11.    private JLabel labelNombre = new JLabel("Insertar Nombre", SwingConstants.LEFT);
  12.    private JLabel labelApellido = new JLabel("Insertar Apellido", SwingConstants.LEFT);
  13.    private JLabel labelCorreo = new JLabel("Insertar Correo", SwingConstants.LEFT);
  14.  
  15.    private JComboBox<Trabajador> jComboBox = new JComboBox<>();
  16.    private JButton button = new JButton("Llenar JComboBox");
  17.    private JButton limpiar = new JButton("Limpiar todo");
  18.    private JPanel jPanel = new JPanel();
  19.  
  20.    public FillJComboBoxWithJTextFields() {
  21.        jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS));
  22.        super.add(jPanel);
  23.        jPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  24.        jPanel.add(this.leftJLabel(this.labelNombre));
  25.        jPanel.add(textField);
  26.        jPanel.add(Box.createVerticalStrut(10));
  27.        jPanel.add(this.leftJLabel(this.labelApellido));
  28.        jPanel.add(textField2);
  29.        jPanel.add(Box.createVerticalStrut(10));
  30.        jPanel.add(this.leftJLabel(this.labelCorreo));
  31.        jPanel.add(textField3);
  32.        jPanel.add(Box.createVerticalStrut(10));
  33.        jPanel.add(this.jComboBox);
  34.        jPanel.add(Box.createVerticalStrut(10));
  35.  
  36.        JPanel jPanelHorizontal = new JPanel();
  37.        jPanelHorizontal.add(this.button);
  38.        jPanelHorizontal.add(this.limpiar);
  39.        jPanel.add(jPanelHorizontal);
  40.  
  41.        Stream.of(button, limpiar)
  42.                .forEach(buttons -> buttons.setBorderPainted(false));
  43.  
  44.        super.pack();
  45.        super.setLocationRelativeTo(null);
  46.        super.setVisible(true);
  47.        super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  48.        this.initBehaviour();
  49.    }
  50.  
  51.    /**
  52.      * * Comportamiento del boton donde se extraen los valores de los JTextField
  53.      * * También listener del botón de limpieza
  54.      */
  55.    private void initBehaviour() {
  56.        this.button.addActionListener((ActionEvent event) -> {
  57.            String nombre = textField.getText().trim();
  58.            String apellido = textField2.getText().trim();
  59.            String correo = textField3.getText().trim();
  60.            if (Stream.of(nombre, apellido, correo)
  61.                    .noneMatch(String::isEmpty)) {
  62.                final Trabajador trabajador = new Trabajador();
  63.                trabajador.setNombre(nombre);
  64.                trabajador.setApellido(apellido);
  65.                trabajador.setCorreo(correo);
  66.                this.jComboBox.addItem(trabajador);
  67.            } else {
  68.                JOptionPane.showMessageDialog(this,"Llenar todos los inputs",
  69.                        "Error", JOptionPane.ERROR_MESSAGE);
  70.            }
  71.        });
  72.  
  73.        this.limpiar.addActionListener((ActionEvent event) -> {
  74.            this.jComboBox.removeAllItems();
  75.            Stream.of(textField, textField2, textField3)
  76.                    .forEach(text -> {
  77.                        text.setText("");
  78.                    });
  79.        });
  80.  
  81.    }
  82.  
  83.    private JPanel leftJLabel(final JLabel jLabel) {
  84.       final JPanel panel = new JPanel(new BorderLayout());
  85.        panel.add(jLabel, BorderLayout.LINE_START);
  86.        return panel;
  87.    }
  88.  
  89.    public static void main(String[] args) {
  90.        new Thread(FillJComboBoxWithJTextFields::new).start();
  91.    }
  92. }
  93.  

75  Comunicaciones / Android / Re: Ayuda para recuperar aplicaciones de celular en: 13 Septiembre 2021, 20:06 pm
Pero desde el móvil he de darle para que pase la información al PC y en la pantalla no se ve nada.
¿He de volver a ponerle la tarjeta SIM? Para hacer esto si es que lo consigo.

El proceso es mas complejo, yo creo que es mejor que lo lleves a un servicio tecnico.

* Cosas como que le hagan un resplado a la ROM creo que seria lo primero.
* Tu podrias quizas intentar lograr conexion por medio de "adb"
76  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Curiosidad: ¿Randomize es moderador o no? en: 8 Septiembre 2021, 01:43 am
Gracias chicos, estaba hoy algo depre.

Modero dos subforos pero ataco como colaborador, ¿entendido?

¿Nómina?

¿Qué es eso acá dentro?

Pero por lo mismo, que a pesar de la depre, usted se destaca por no caer en la droga.

recuerde eso siempre.
77  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Curiosidad: ¿Randomize es moderador o no? en: 7 Septiembre 2021, 21:01 pm
Yo juraría que en su "rango" he visto algunas veces que decía "Moderador" y lo he visto bloqueando temas, sin embargo en otras ocasiones decía "Colaborador" o algo así. ¿Acaso tiene rango random xD ?

Claro de ahi su nombre.

Conocido desde los primeros llacimientos de este foro, dandole caña a los *************
78  Programación / Java / Re: Ayuda con ObjectOutputStream! en: 7 Septiembre 2021, 06:28 am
Usa GeShI


Para escribir objetos de manera binaria con ObjectInput/Output Stream, esta diseñada para escribir solo una vez socio, sino tendrias que reimplemantar una clase tu mismo.


Código
  1. /**
  2.  * @implSpec THREAD-SAFE
  3.  *  @autor rub'n
  4.  */
  5. @Value
  6. @Builder
  7. public class Persona implements Serializable {
  8.    String nombre;
  9.    String apellido;
  10.    String correo;
  11. }

Código
  1. /**
  2.  * @autor rub'n
  3.  */
  4. @Slf4j
  5. public class ConObjectIOStream {
  6.  
  7.    private static final String RUTA_FICHERO = "./temporal.tmp";
  8.  
  9.    private ConObjectIOStream() {
  10.        throw new IllegalAccessError("Constructor privado");
  11.    }
  12.  
  13.    /**
  14.      * Para leer desde el fichero
  15.      *
  16.      * @return List<Persona>
  17.      */
  18.    private static List<Persona> readFromFile() {
  19.        final List<Persona> listaPersona = new CopyOnWriteArrayList<>();
  20.        final Path pathAlimento = Paths.get(RUTA_FICHERO);
  21.        if(pathAlimento.toFile().exists()) {
  22.            try (final BufferedInputStream bin = new BufferedInputStream(Files.newInputStream(pathAlimento));
  23.                 final ObjectInputStream ob = new ObjectInputStream(bin)) {
  24.  
  25.                while (Boolean.TRUE) {
  26.                    synchronized (ConObjectIOStream.class) { //en caso de que readFrom se invoque desde un Thread()
  27.                        final Object object = ob.readObject();
  28.                        if (object instanceof Persona) {
  29.                            listaPersona.add((Persona) object);
  30.                        }
  31.                    }
  32.                }
  33.                ob.reset();
  34.            } catch (IOException | ClassNotFoundException e) {
  35.                //no hacer nada EOFException
  36.                log.error("Error al leer {}", e);
  37.            }
  38.        } else {
  39.            log.error("Error al leer del fichero {}", pathAlimento.toFile());
  40.        }
  41.  
  42.        return List.copyOf(listaPersona)
  43.                .stream()
  44.                .sorted(Comparator.comparing(Persona::getNombre))
  45.                .collect(Collectors.toList());
  46.    }
  47.  
  48.    /**
  49.      * Para escribir en el fichero
  50.      */
  51.    private static void writePersonToTempFile(final Persona ...persona) {
  52.        final Path pathTem = Paths.get(RUTA_FICHERO);
  53.        try (final OutputStream out = Files.newOutputStream(pathTem, StandardOpenOption.CREATE);
  54.             final BufferedOutputStream bos = new BufferedOutputStream(out);
  55.             final ObjectOutputStream ob = new ObjectOutputStream(bos)) {
  56.  
  57.            synchronized (ConObjectIOStream.class) {
  58.                Arrays.stream(persona)
  59.                        .forEach((Persona p) -> writeObject(ob, p));
  60.            }
  61.            ob.reset();
  62.        } catch (IOException e) {
  63.            log.error("Error al escribir en archivo {} ", e);
  64.        }
  65.    }
  66.  
  67.    private static void writeObject(final ObjectOutputStream ob, final Persona persona) {
  68.        try {
  69.            ob.writeObject(persona);
  70.        } catch (IOException e) {
  71.            log.error("Error al escribir objecto {} ", e);
  72.        }
  73.    }
  74.  
  75.    public static void main(String[] args) {
  76.  
  77.        final Persona persona1 = Persona.builder()
  78.                .nombre("ruben")
  79.                .apellido("La muerte")
  80.                .correo("rrara@gmail.com")
  81.                .build();
  82.  
  83.        final Persona persona2 = Persona.builder()
  84.                .nombre("El loco")
  85.                .apellido("La locura")
  86.                .correo("crazyGuy@gmail.com")
  87.                .build();
  88.  
  89.        /*
  90.          * Para escribir
  91.          */
  92.        ConObjectIOStream.writePersonToTempFile(persona1, persona2);
  93.  
  94.        /*
  95.          * Leer
  96.          */
  97.        ConObjectIOStream.readFromFile()
  98.                .forEach((Persona persona) -> log.info("Persona {}", persona));
  99.  
  100.    }
  101.  
  102. }
79  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Que les parece Discourse para el foro? en: 7 Septiembre 2021, 04:57 am
Por mi está bien, estaba pensando en publicar las opciones de moderación que tiene discourse pero no veo a ningún moderador/administrador preguntado acerca de esto así que lo tomo como que no están interesados en discourse.

Aunque quizás sea buena idea decir como va la cosa de moderación en discourse para los usuarios. Si es que están interesados...

Yo te comente por telegram que si estaba interesado. recuerdas que vimos el discourse de la gente mongo?

https://www.mongodb.com/community/forums/
80  Programación / Java / Re: Como leer archivos PDF en Android en: 5 Septiembre 2021, 18:30 pm
Y con el iText que pasa? Dices que también se pueden mostrar los pdf, como se pueden mostrar como con cualquier otra librería ?

* Perdoname tu aqui, te complique, la api itext tu le pasas la salida de tu pdf. la ruta mejor dicho.

Es posible que me compartas el proyecto asi por privado?
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 139
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines