|
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? 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, 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 final LinkedList<Persona> list = new LinkedList<>(); list.add(new Persona("Beginner","web",14));
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?... package foro; import javax.swing.*; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.util.ArrayList; import java.util.List; /** * @Autor rub´n y google */ public class JTableAvoidDuplicados extends JFrame { public JTableAvoidDuplicados() { init(); setSize(500, 100); pack(); setLocationRelativeTo(null); setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); setVisible(true); } private void init() { add(panelNorte); } titledBorder. setTitleFont(new Font(Font. SANS_SERIF, Font. BOLD, 16)); panel.setBorder(titledBorder); /** * Filas de la table */ defaultTableModel.addColumn("Codigo"); defaultTableModel. addRow(new Object[]{"codigo-0000"}); defaultTableModel. addRow(new Object[]{"codigo-0001"}); defaultTableModel. addRow(new Object[]{"codigo-0002"}); defaultTableModel. addRow(new Object[]{"codigo-0003"}); return panel; } panelSur. setBorder(BorderFactory. createEmptyBorder(10, 0, 5, 0)); panelSur. add(new JLabel("Introduce codigo: ")); panelSur. add(Box. createHorizontalStrut(10)); panelSur.add(textField); panelSur. add(Box. createHorizontalStrut(10)); panelSur.add(button); initBehaviour(); return panelSur; } private void initBehaviour() { button.addActionListener(e -> tabla(table, textField)); } boolean exists = false; for (int i = 0; i < tabla.getRowCount(); i++) { s = tabla.getValueAt(i, 0).toString().trim(); if (jTextField.getText().equals("")) { JOptionPane. showMessageDialog(null, "Introduce un valor"); break; } else if (jTextField.getText().equals(s)) { exists = true; break; } } if (!exists) { final List<String> lista = new ArrayList<>(); final String codigo = jTextField. getText(); if (!codigo.equals("")) { lista.add(jTextField.getText()); dd.addRow(lista.toArray()); } } else { JOptionPane. showMessageDialog(null, "Codigo existente."); } } public static void main (String... gaga) { try { ex.printStackTrace(); } new Thread(JTableAvoidDuplicados ::new). start(); } }
|
|
|
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
|
|
|
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?
|
|
|
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. public enum Contrato { INDEFINIDO("indefinido"), TEMPORAL("temporal"), FORMACION("formacion"), PRACTICAS("practicas"); Contrato (final String value ) { this.value = value; } return value; } public static Contrato getContrato (final String tipoContrato ) { Contrato contrato = null; for(final Contrato tmp : Contrato.values()) { /** * a lowercase para coincidir con las constantes */ if(tmp.getValue().equals(tipoContrato.toLowerCase())) { contrato = tmp; break;// se sale de las iteracioes con la primera coincidencia } } return contrato; } }
/** * */ public class Empresa { private static final Logger LOGGER = Logger.getLogger(Empresa.class.getSimpleName()); private static final Scanner LEER = new Scanner (System. in); public Empresa() { try { LOGGER.info("Introduce Tipo de contrato :D"); this.tipo = LEER.nextLine(); final Contrato contrato = Contrato.getContrato(tipo); switch (contrato) { case TEMPORAL: LOGGER.info("Temporal"); break; case FORMACION: LOGGER.info("Formacion"); break; case PRACTICAS: LOGGER.info("Practicas"); break; case INDEFINIDO: LOGGER.info("Indefinido"); break; } LOGGER.severe("No existe " + this.tipo); } } @Override return "Lo que quieres hacer aqui esta medio bull$shit, pero si quieres explicate mejor XD"; } public static void main (String... blalb) { new Empresa(); } }
|
|
|
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
|
|
|
|
|
|
|