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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  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 ... 27
61  Programación / Ejercicios / Re: Juego de damas en python en: 20 Marzo 2014, 05:55 am
Existe una librería en Python llamada PyGame. Es relativamente sencilla de utilizar y puedes hacer pequeños juegos con ésta librería. Salu2.
62  Foros Generales / Foro Libre / Re: -Videos youtube- elhacker.net en: 20 Marzo 2014, 05:53 am
Este perro debe ser la 'reencarnación' de algún otrora piloto GP xD

63  Programación / Java / Re: herencia en java en: 20 Marzo 2014, 05:48 am
Cualquier clase puedes heredarla, independientemente que sea abstracta o no. Sin embargo, es necesario que antes crear esa clase, tengas en cuenta si es necesario que se instancie ésta clase. Como te dije, una superclase por lo general es una abstracción muy general y las subclases son las que especializan esa abstracción. Así que no tiene mucho sentido instanciar una superclase, aunque quizás en algunos casos si el programador así lo requiere con un fin específico, puede hacerse.

PD: Si tu duda ya fue despejada, por favor marca el tema como solucionado.

Saludos.
64  Programación / Java / Re: herencia en java en: 20 Marzo 2014, 03:54 am
Los dos son conceptos de la programación orientada a objetos. Una clase abstracta en Java no se puede instanciar, es por ésto que las clases abstractas, como su nombre lo indica, se usa para 'abstraer' una idea y plasmarla en una clase de forma general. Es por eso, que a las subclases de una clase, se dice que son 'especialistas', ya que ellas implementan los métodos de la clase abstracta y la hacen especialmente funcional para esta clase.

Ej:

Código
  1. public abstract class Animal {
  2.  
  3. // a diferencia de las interfaces una clase abstracta puede
  4. // contener variables de instancia y metodos no abstractos
  5. String nombre;
  6.  
  7. // las subclases deben implementar este metodo (especializacion)
  8. public abstract void accion();
  9.  
  10. public void setNombre(String nombre) {
  11. this.nombre = nombre;
  12. }
  13.  
  14. public String getNombre() { return nombre; }
  15.  
  16. }
Código
  1. public class Perro extends Animal {
  2.  
  3. // hereda String nombre
  4.  
  5. @Override
  6. public void accion() {
  7. System.out.println("Guarf, Guarf! Grrrrr");
  8. }
  9.  
  10. // hereda los setters y getters
  11. }
Código
  1. public class Gato extends Animal {
  2.  
  3. // hereda String nombre
  4.  
  5. @Override
  6. public void accion() {
  7. System.out.println("Miau, miau...");
  8. }
  9.  
  10. // hereda setters y getters
  11. }

Código
  1. Animal animal = new Animal(); // ERROR. No se puede instanciar una clase abstracta
  2. Animal animal = new Perro(); // OK. Un Perro es un animal, y Perro no es abstracto por lo esto es valido

Código
  1. public void actuar(Animal animal) { // si Animal fuera una interface tambien funcionaria esto
  2. // sea perro o gato, esto se determina en tiempo de ejecucion y llama al metodo accion() correspondiente
  3. animal.accion();
  4. }
65  Programación / Java / Re: JAVA Como Refrescar JTable en: 20 Marzo 2014, 00:29 am
Hola de nuevo,

Cambia esto:
Código
  1. while(rs.next()) {
  2.     for(byte i=0; i<columnas; i++) {
  3.          data[i] = resultmeta.getObject(i+1);
  4.     }
  5. }

Por esto:

Código
  1. while(rs.next()) {
  2.     data[0] = (String) resultmeta.getString("nombreColumna");
  3.     // asi con las demas propiedades. El casting de acuerdo al tipo de dato
  4.     if(rs.next() == null) { modelo.addRow(data); } // si ya no hay filas en la tabla se inserta la fila en la JTable
  5. }

Fuera del while imprime el array data para ver los datos que han sido recuperados de la database:

Código
  1. for(Object e : data) {
  2. System.out.println("Valor:"+e+"\tTipo de dato: "+e.getClass().getName());
  3. }
66  Sistemas Operativos / GNU/Linux / Re: Emigrando de Linux mint 16 , ¿qué me recomiendan? en: 19 Marzo 2014, 23:15 pm

Quien diga eso lo parto en dos!!!!!!!!!!!! se que lo dices por poner un ejemplo, pero el que diga eso realmente es un beato!!!!


Jaja en algunos foros linuxeros siempre veo esa frase, hasta he leído que le han dicho a los debianillos que tienen repositorios obsoletos xD
67  Programación / Java / Re: JAVA Como Refrescar JTable en: 19 Marzo 2014, 22:58 pm
Hola, disculpa la demora. La verdad te entiendo poco (quizás soy un poco lerdo para entender xD). Según tengo entendido a partir de un JFrame quieres crear un JDialog para inserción de datos y luego esos datos mostrarlos en una JTable. ¿Estoy bien?

Bien primero debes saber que un JDialog debe tener un padre, que debe ser un JFrame o Frame (AWT). Así que quizás es por eso que no te lo muestra. Te coloco un par de códigos de lo que yo entiendo que quieres hacer:

JFrame:
Código
  1. public class GUI extends JFrame implements ActionListener {
  2.  
  3. public GUI() {
  4. // tus controles
  5. JButton btnAceptar = new JButton("Aceptar");
  6. btnAceptar.addActionListener(this);
  7. this.add(btnAceptar);
  8.  
  9. // configuracion del jframe, tamanio, setDefaultCloseOperation(int tipo),y setVisible(true) etc
  10. }
  11.  
  12. @Override
  13. public void actionPerformed(ActionEvent evt) {
  14. new Dialogo(this,true); // creamos el JDialog e indicamos que este JFrame sera su padre
  15. }
  16.  
  17. }

JDialog:
Código
  1. public class Dialogo extends JDialog {
  2.  
  3. public Dialogo(JFrame padre, boolean modal) {
  4. // JDialog necesita un padre, es decir siempre dependera de un JFrame o Frame (AWT)
  5. // aqui puedes usar 'padre' para obtener los valores que se han elegido en el
  6. // formulario (padre) para crer dinamicamente tu JDialog asi como tu quieres
  7. // creamos la tabla, le asignamos un modelo y le agregamos una fila
  8. JButton btnAceptar = new JButton("Insertar");
  9. JTable tblDatos = new JTable();
  10. tblDatos.setModel(modelo);
  11. btnAceptar.addActionListener(new ActionListener() {
  12. @Override
  13. public void actionPerformed(ActionEvent evt) {
  14. try {
  15. agregarFila(modelo);
  16. } catch(SQLException ex) { System.err.println(ex.getMessage()); }
  17. }
  18. });
  19. this.add(btnAceptar);
  20. this.add(tblDatos);
  21. }
  22.  
  23. public void agregarFila(DefaultTableModel modelo) throws SQLException {
  24.  
  25. Object[] data = null;
  26. Connection conexion = null;
  27. PreparedStatement estatuto = null;
  28. ResultSetMetadata resultmeta = null;
  29. String sql = "select * from TUTABLA;";
  30.  
  31. try {
  32. // recuperamos lo que hay en la base de datos
  33. conexion = Conexion.getConnection(); // Conexion es una clase que devuelve una conexion a la DB
  34. estatuto = conexion.preparedStatement();
  35. ResultSet rs = estatuto.executeQuery();
  36. resultmeta = rs.getMetadaData();
  37.  
  38. int columnas = resultset.getColumnCount();
  39. data = new Object[columnas];
  40.  
  41. while(rs.next()) {
  42. for(byte i=0; i<columnas; i++) {
  43. data[i] = resultmeta.getObject(i+1);
  44. }
  45. }
  46.  
  47. modelo.addRow(data);
  48. } catch(SQLException ex) { throw ex; }
  49. finally { if(conexion != null) conexion.close();
  50. }
  51.  
  52. }
  53. }


Esta sería la forma de a partir de un JFrame crear un JDialog y en éste crear una tabla. Saludos.
68  Programación / Java / Re: JAVA Como Refrescar JTable en: 19 Marzo 2014, 20:40 pm
Ya ves, solo es cuestión de saber interpretar las Excepciones (te recomiendo leer sobre esto y sobre debug).

¿Dices que pulsas el botón y no pasa nada? Pega el código que tienes en el actionPerformed de tu botón para poder verlo.
69  Sistemas Operativos / GNU/Linux / Re: Emigrando de Linux mint 16 , ¿qué me recomiendan? en: 19 Marzo 2014, 20:34 pm
Si quieres estabilidad te recomiendo Debian, es una roca, algunos te dirán que Debian tiene repositorios desactualizados y otras cosas, si solo quieres estabilidad y tranquilidad (que es lo que uno busca para programar) más que estar update en todos los paquetes, te recominendo Debian. También puedes optar OpenSUSE es una muy buena distro (yo la prefiero con Gnome).

Si utilizas software pesado para programar, mejor opta por Lubuntu y distros con LXDE o XFCE que son entornos ligeros. Yo recientemente me instalé Ubuntu 14.04 LTS beta con Gnome y con 2GB y puedo programar (Eclipse, Tomcat, PostgreSQL, etc), navegar, estar en skype, y otras cosillas relativamente bien.

En todo caso, anda viendo los reviews de distros, anda probando y elige la distro con la que te sientas más comodo. Salu2.
70  Programación / Java / Re: No se sincroniza el código con WindowsWuilder en eclipse en: 19 Marzo 2014, 20:14 pm
El mejor es WindowBuilder, pero existen otros como JFormDesigner, jigloo y otros, pero el mejor es WindowBuilder.. Te sugiero que le eches un ojo a JavaFX, es el sucesor de Swing y puedes hacer RIA's muy poderosas con JavaFX.

Salu2.
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 27
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines