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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [66] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 139
651  Programación / Java / Re: Clase Lista en: 28 Marzo 2019, 17:37 pm
Seguro? no te faltó algo a la hora de declarar la lista de Persona?  :huh:

:-\ estoy 90% seguro que no probaste el ejemplo, o no hiciste el import bien, que este último no lo creo.

Y eso que lo escribo desde mi Android .

 El operador diamante puede ir vacío también, como con el objeto en el, pero siendo redundante, o sea,


 
Código
  1. final LinkedList<Persona> lista = new LinkedList<Persona>(); // redundante
652  Programación / Java / Re: Clase Lista en: 28 Marzo 2019, 07:07 am
Hola tengo una duda como hago para crear una LinkedList(); de objetos?

Crea tu javabean primero , la típica clase con setters y getters, y luego usas el método add() de la list  :D

Código
  1. final LinkedList<Persona> list = new LinkedList<>();
  2. list.add(new Persona("Beginner","web",14));
  3.  

El Bean persona con 3 atributos, 2 String , y un int o Integer, faltarían los setters y getters para acceder a dichos atributos, ojo los setters quitan inmutabilidad a un objeto haciendo que no sean aptos para un ambiente de concurrencia, si es inmutable tu bean, o sea:

  * Clase con final (public final class Persona) para que no se pueda heredar.
  * Sin setters
  * Variables de instancia con final
   - y puedes añadir por comodidad una clase estática dentro Aka Builder/AbstractoGenerico para inicializar sus variables de instancia pues mucho mejor, ya que este te creará una copia mutable de Persona con la que puedes trabajar.
653  Programación / Java / Re: Evitar duplicados en Jtable en: 25 Marzo 2019, 00:16 am
Buenas noches,

Necesito ayuda con mi proyecto en Java lo tengo prácticamente finalizado pero esto es lo único que me tiene estancado,

Quiero evitar duplicados de la columna código de cliente de un Jtable, al darle clic al botón "Guardar", evalué si no hay código con ese valor lo guarde en la tabla si ya existe este código muestre la excepción que "Código del cliente ya existe" y no guarde.

Les agradecería su ayuda,

Saludos.

Si se puede pero muestra algo de código a ver como la tienes?...

 >:D

Código
  1. package foro;
  2.  
  3. import javax.swing.*;
  4. import javax.swing.border.TitledBorder;
  5. import javax.swing.table.DefaultTableModel;
  6. import java.awt.*;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. /**
  11.  * @Autor rub´n y google
  12.  */
  13. public class JTableAvoidDuplicados extends JFrame {
  14.  
  15.    private final DefaultTableModel defaultTableModel = new DefaultTableModel();
  16.    private final JTable table = new JTable(defaultTableModel);
  17.    private final JScrollPane jScrollPane = new JScrollPane(table);
  18.    private final JButton button = new JButton("Aceptar");
  19.    private final JTextField textField = new JTextField();
  20.  
  21.    public JTableAvoidDuplicados() {
  22.        init();
  23.  
  24.        setSize(500, 100);
  25.        pack();
  26.        setLocationRelativeTo(null);
  27.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.        setVisible(true);
  29.    }
  30.  
  31.    private void init() {
  32.        final JComponent panelNorte = getPanelNorte();
  33.        final JComponent panelSur = getPanelSur();
  34.        panelNorte.add(panelSur, BorderLayout.SOUTH);
  35.        add(panelNorte);
  36.    }
  37.  
  38.    private JComponent getPanelNorte() {
  39.        final JPanel panel = new JPanel();
  40.        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  41.        final TitledBorder titledBorder = new TitledBorder("PoC duplicados en JTable");
  42.        titledBorder.setTitleFont(new Font(Font.SANS_SERIF,Font.BOLD,16));
  43.        panel.setBorder(titledBorder);
  44.        panel.add(jScrollPane, BorderLayout.NORTH);
  45.        /**
  46.          * Filas de la table
  47.          */
  48.        defaultTableModel.addColumn("Codigo");
  49.        defaultTableModel.addRow(new Object[]{"codigo-0000"});
  50.        defaultTableModel.addRow(new Object[]{"codigo-0001"});
  51.        defaultTableModel.addRow(new Object[]{"codigo-0002"});
  52.        defaultTableModel.addRow(new Object[]{"codigo-0003"});
  53.  
  54.        return panel;
  55.    }
  56.  
  57.    private JComponent getPanelSur() {
  58.        final JPanel panelSur = new JPanel();
  59.        panelSur.setLayout(new BoxLayout(panelSur,BoxLayout.X_AXIS));
  60.        panelSur.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0));
  61.        panelSur.add(new JLabel("Introduce codigo: "));
  62.        panelSur.add(Box.createHorizontalStrut(10));
  63.        panelSur.add(textField);
  64.        panelSur.add(Box.createHorizontalStrut(10));
  65.        panelSur.add(button);
  66.        initBehaviour();
  67.        return panelSur;
  68.    }
  69.  
  70.    private void initBehaviour() {
  71.        button.addActionListener(e -> tabla(table, textField));
  72.    }
  73.  
  74.    private void tabla(JTable tabla, JTextField jTextField) {
  75.        String s = "";
  76.        boolean exists = false;
  77.        for (int i = 0; i < tabla.getRowCount(); i++) {
  78.            s = tabla.getValueAt(i, 0).toString().trim();
  79.  
  80.            if (jTextField.getText().equals("")) {
  81.                JOptionPane.showMessageDialog(null, "Introduce un valor");
  82.                break;
  83.            } else if (jTextField.getText().equals(s)) {
  84.                exists = true;
  85.                break;
  86.  
  87.            }
  88.        }
  89.        if (!exists) {
  90.            final DefaultTableModel dd = (DefaultTableModel) tabla.getModel();
  91.            final List<String> lista = new ArrayList<>();
  92.            final String codigo = jTextField.getText();
  93.            if (!codigo.equals("")) {
  94.                lista.add(jTextField.getText());
  95.                dd.addRow(lista.toArray());
  96.            }
  97.        } else {
  98.            JOptionPane.showMessageDialog(null, "Codigo existente.");
  99.        }
  100.    }
  101.  
  102.    public static void main(String... gaga) {
  103.        try {
  104.            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  105.        } catch (Exception ex) {
  106.            ex.printStackTrace();
  107.        }
  108.        new Thread(JTableAvoidDuplicados::new).start();
  109.    }
  110.  
  111. }
  112.  

654  Programación / Java / Re: Crear numeros aleatorios distintos, usando semilla en: 25 Marzo 2019, 00:15 am
Hola amigos, estoy intentando generar números aleatorios entre el 0 y el 27 (estos incluídos), pero quiero que cada vez que llame al método para generarlos, que genere uno distinto. En realidad el fin de generar numeros aleatorios, es para devolver objetos aleatorios, los cuales están creados en otra parte del código. Aquí les dejo mi código:

public Ficha darFicha(){
Random aleatorio = new Random(System.currentTimeMillis());
        // Producir nuevo int aleatorio entre 0 y 27
        int intAleatorio = aleatorio.nextInt(27);

        // Refrescar datos aleatorios, pero no me esta funcionando, o eso creo
        aleatorio.setSeed(System.currentTimeMillis());
        
//      Esto es parte del programa, para generar objetos aleatorios
        Ficha toret=new Ficha(0,0);
        toret=fichas[intAleatorio];
        return toret;
}

Gracias, y un saludo de antemano.

Usar mejor SecureRandom para generar números pseudo aleatorio mas estrictos

Como estará compuesta la clase Ficha?

Si quieres números que no se repitan pues seria mejor que te crees un array de 0 al 27 y los recorres, y podrías usar el algoritmo shuffle también.



PD... tildes
655  Programación / Java / Re: Diferentes formas de manejar eventos en java. en: 25 Marzo 2019, 00:12 am
otra es por medio de clases internas anónimas, para no llenar tu clase con implementacion de interfaces

Ejemplo con una expresión lambda, mínimo java 8 debes tener.

Código
  1. final JButton button = new JButton("Click Me!");
  2. button.addActionListener(e -> {
  3. JOptionPane.showMessageDialog(null,"Click");
  4. });
  5.  
656  Programación / Java / Re: Problemas con JOptionPane en: 20 Marzo 2019, 16:18 pm
muchas gracias por tu graaaan ayuda rub'n

Yo no te ayude, dale gracias al popular CalgaryCorpus,

Yo estoy acostumbrado a poner null siempre jajaja. Pero no te dije XD
657  Programación / Java / Re: Problemas con JOptionPane en: 19 Marzo 2019, 23:34 pm
estoy llamando con un boton, el codigo funciona, el problema es que me muestra en segundo plano, es decir detrás del jframe. esa es mi codigo:
String valor=JOptionPane.showInputDialog(this,"INGRESE LA CATIDAD DE PRODUCTO!").toString();

Que desastre tendrás ahi?  >:D
658  Programación / Java / Re: Problemas con JOptionPane en: 19 Marzo 2019, 18:15 pm
Muestra codigo
659  Programación / Java / Re: incomparable types: contrato[] and contrato en: 13 Marzo 2019, 23:39 pm
spcruzaley tal cual dog, por ahí iba la cosa saludos.

Código
  1. public enum Contrato {
  2.  
  3.    INDEFINIDO("indefinido"),
  4.    TEMPORAL("temporal"),
  5.    FORMACION("formacion"),
  6.    PRACTICAS("practicas");
  7.  
  8.    private final String value;
  9.  
  10.    Contrato(final String value) {
  11.        this.value = value;
  12.    }
  13.  
  14.    public String getValue() {
  15.        return value;
  16.    }
  17.  
  18.    public static Contrato getContrato(final String tipoContrato) {
  19.        Contrato contrato = null;
  20.        for(final Contrato tmp : Contrato.values()) {
  21.            /**
  22.              * a lowercase para coincidir con las constantes
  23.              */
  24.            if(tmp.getValue().equals(tipoContrato.toLowerCase())) {
  25.                contrato = tmp;
  26.                break;// se sale de las iteracioes con la primera coincidencia
  27.            }
  28.        }
  29.        return contrato;
  30.    }
  31. }
  32.  

Código
  1. /**
  2.  *
  3.  */
  4. public class Empresa {
  5.  
  6.    private static final Logger LOGGER = Logger.getLogger(Empresa.class.getSimpleName());
  7.    private static final Scanner LEER = new Scanner(System.in);
  8.    private String tipo;
  9.  
  10.    public Empresa() {
  11.        try {
  12.            LOGGER.info("Introduce Tipo de contrato :D");
  13.            this.tipo = LEER.nextLine();
  14.            final Contrato contrato = Contrato.getContrato(tipo);
  15.            switch (contrato) {
  16.                case TEMPORAL:
  17.                    LOGGER.info("Temporal");
  18.                    break;
  19.                case FORMACION:
  20.                    LOGGER.info("Formacion");
  21.                    break;
  22.                case PRACTICAS:
  23.                    LOGGER.info("Practicas");
  24.                    break;
  25.                case INDEFINIDO:
  26.                    LOGGER.info("Indefinido");
  27.                    break;
  28.            }
  29.        } catch (final NullPointerException ex) {
  30.            LOGGER.severe("No existe " + this.tipo);
  31.        }
  32.  
  33.    }
  34.  
  35.    @Override
  36.    public String toString() {
  37.        return "Lo que quieres hacer aqui esta medio bull$shit, pero si quieres explicate mejor XD";
  38.    }
  39.  
  40.    public static void main(String... blalb) {
  41.        new Empresa();
  42.    }
  43. }
660  Programación / Java / Re: incomparable types: contrato[] and contrato en: 13 Marzo 2019, 20:48 pm
Cuando llegue a la guarida, te ayudo dog, ese enum Contrato es mejor desarrollarlode otra manera, con un método estático dentro que consulte, si posee esa constante o no, logrando mayor legibilidad, que como lo estás haciendo , es un mero desastre  >:D
Páginas: 1 ... 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [66] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ... 139
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines