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 Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21
101  Programación / Java / Ayuda con este método. en: 4 Octubre 2011, 04:28 am
Estoy haciendo el juego de ahorcado y tengo el siguiente método que sirve para recorrer la palabra que hay que adivinar en busca de un caracter que selecciono el usuario de un combo box.

Código
  1. public void buscarLetra(){
  2. for(int i=0;i<palabraElegida.length();i++){
  3. if(palabraElegida.substring(i, i+1).equals(letraEscogida)){
  4. System.out.println("si esta la  Letra Escogida");
  5. }
  6. System.out.println(getLetraEscogida());
  7. }
  8. }


Ahora mismo como ven xD, el método eso no es lo que hace. Por que primero estaba probando (imprimiendo por la consola) si se estaba imprimiendo el valor de la variable LetraEscogida, pero cuando sale por consola se imprimen varios nulls. No sé por qué. La variable letraEscogida es private, dentro de la misma clase, así que debería funcionar, y también cree un método get para esa misma variable, pero no funciona, sigue saliendo null.

Esto son los métodos que tengo para capturar el valor de un JCombo Box y que se muestren en un panel cuando hacen clic en un botón:

Código
  1. //obtiene la letra seleccionada del comboBox
  2. public void itemStateChanged(ItemEvent e) {
  3. if(e.getSource() == jcb){ //jcb es el nombre del combo box
  4. letraEscogida = (((String) jcb.getSelectedItem()).toLowerCase());
  5. }
  6. }
  7.  
  8. //habilitar la funcion Salir del menu
  9. //mostrar la letra escogida en el panel intentos
  10. public void actionPerformed(ActionEvent e) {
  11. if(e.getSource() == salir)
  12. System.exit(0);
  13. if(e.getSource() == boton){
  14. lbl_letras.setText(letraEscogida);
  15. }
  16. }

En el constructor tengo estas líneas que no entiendo muy bien su significado, pero sé que hay que ponerlas xD:
Código
  1. salir.addActionListener(this);
  2. boton.addActionListener(this);
  3. jcb.addItemListener(this);


Para hacer el método buscarLetra() bien, debería (el método) de usar letraEscogida cuando se presione el Jboton boton y no desde que se seleccione en el JCombo Box (que es lo que haría el método como lo tengo ahora, si funcionara). Además necesito una forma de activar o llamar ese método cada vez que se presione el botón, (porque después si la letra forma parte de la palabra a adivinar, tengo que sustituir el o los guiones bajos donde debería ir la letra. Ej. si la palabra es vaca, hay 4 guiones bajos _ _ _ _ y si la letra es a, tengo que sustituir el 2do y el 4to guión bajo)
102  Programación / Java / Juego "El ahorcado" con GUI. en: 2 Octubre 2011, 08:16 am
Tengo que hacer una interfaz gráfica que luzca como esto: http://i333.photobucket.com/albums/m399/Link02/ahorcado.gif

Mi ventana hasta ahora luce así: http://i333.photobucket.com/albums/m399/Link02/miventa.png
 :xD y no se parece en nada  :rolleyes:. Creo que mi problema está en el layout no sé cuál usar para que me quede así o cuáles métodos usar, he probado con FloWLayout, pero se ajusta y con GridBagLayout que es el que tiene ahora, pero ya ven como está. Además tampoco sé como poner la imagen al lado.

Esta es la parte de la ventana:
Código
  1. JFrame f = new JFrame();
  2. f.setTitle("El Ahorcaito");
  3. f.setSize(760,570);
  4. f.getContentPane().setLayout(new GridBagLayout());
  5.  
  6. f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  7.  
  8. //menu
  9. mb = new JMenuBar();
  10. menu = new JMenu("Men&#250;");
  11. menu.add(new JMenuItem("Reiniciar"));
  12. menu.addSeparator();
  13. menu.add(new JMenuItem("Salir"));
  14. mb.add(menu);
  15. f.setJMenuBar(mb);
  16. f.setVisible(true);
  17.  
  18. //posiciones
  19. gbc.gridx = 0;
  20. gbc.gridy= 0;
  21. gbc.gridwidth = 1;
  22. gbc.gridheight = 1;
  23. l1 = new JLabel("Palabra:");
  24. f.getContentPane().add(l1,gbc);
  25.  
  26. gbc.gridx = 0;
  27. gbc.gridy = 1;
  28. gbc.gridwidth = 1;
  29. gbc.gridheight = 1;
  30. l2 = new JLabel("Intentos:");
  31. f.getContentPane().add(l2, gbc);
  32.  
  33. gbc.gridx = 0;
  34. gbc.gridy = 2;
  35. gbc.gridwidth = 1;
  36. gbc.gridheight = 1;
  37. l3 = new JLabel("Letras:");
  38. String[] list = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R"
  39. +"S","T","U","V","W","X","Y","Z"};
  40. JComboBox jcb = new JComboBox(list);
  41. f.getContentPane().add(l3, gbc);
  42. gbc.gridx = 0;
  43. gbc.gridy = 3;
  44. gbc.gridwidth = 1;
  45. gbc.gridheight = 1;
  46. f.getContentPane().add(jcb,gbc);
  47.  
  48.  
  49. gbc.gridx = 0;
  50. gbc.gridy = 4;
  51. gbc.gridwidth = 1;
  52. gbc.gridheight = 1;
  53. l4 = new JLabel("Mensajes:");
  54. f.getContentPane().add(l4, gbc);
  55. }

Veo que se parece un poco a HTML, pero más complicado.

Básicamente lo que necesito es saber como crear un "contenedor" para cada uno de los campos y que queden más separados y alineados a la izquierda.


Ya me ha quedado más o menos, creando paneles:
http://i333.photobucket.com/albums/m399/Link02/mivent.png

Pero ahora ¿Cómo agregó un elemento a un panel? un botón por ejemplo. Estoy intentando hacerlo así:
Código
  1. //panel de las palabras
  2. l1 = new JLabel("Palabras:");
  3. gbc.gridx = 0;
  4. gbc.gridy = 0;
  5. f.getContentPane().add(l1,gbc);
  6.  
  7. Panel panelPalabras = new Panel();
  8. panelPalabras.setLayout(null);
  9. panelPalabras.setSize(360,90);
  10. panelPalabras.setBackground(Color.lightGray);
  11. gbc.gridy = 1;
  12.  
  13.  
  14. boton = new JButton();
  15. boton.setText("OK");
  16. boton.setVisible(true);
  17. panelPalabras.add(boton);
  18. f.getContentPane().add(panelPalabras,gbc);
  19. f.setVisible(true);

Pero no aparece el botón.

Solo aparece si lo pongo fuera del panel:
Código
  1. f.getContentPane().add(boton);
103  Programación / Java / Utilizar métodos sobreescritos o una estructura If en: 24 Septiembre 2011, 20:03 pm
La idea del tema es aplicar el polimorfismo, así que me respondo yo solo. Los métodos sobreescritos son los que debería usar, pero es que con un if es mucho más fácil y no veo ningún inconveniente.

Tengo que hacer un Control de Llamadas. Las llamadas provinciales tienen un costo dependiendo de la franja horaria donde se realicen (1, 2 ó 3).

Entonces tengo que hacer un método CalcularPrecio() en él que fácilmente pondría un estructura if.
Código:
If(franjaHoraria == 1){
...
}
else if (franjaHoraria == 2){
....
}
etc.

El problema viene al hacerlo con métodos sobre-cargados, tengo la idea, pero no sé si es la forma correcta.

Una forma sería (que no se hace xD) sería si se pudiera evaluar un parámetro de un método. Quería así.
Código
  1. public double CalcularPrecio(double duracion, int franjaHoraria==1){
  2. this.duracion = duracion;
  3. this.franjaHoraria = franjaHoraria;
  4. precio = Valor_llamada_franja1 * duracion;
  5. }

Pero me da error.

La otra que se me ocurre es poner el if dentro del método, pero no estoy seguro si esta es la forma correcta de implentar el polimorfismo.
Así:
Código
  1. public double CalcularPrecio(double duracion, int franjaHoraria){
  2.  this.franjaHoraria = franjaHoraria;
  3.  this.duracion = duracion;
  4.  if(franjaHoraria == 1){
  5.    //calcular el precio para franaja horaria es 1
  6.  }
  7. }
  8. public double CalcularPrecio(double duracion, int franjaHoraria){
  9.  this.franjaHoraria = franjaHoraria;
  10.  this.duracion = duracion;
  11.  if(franjaHoraria == 2){
  12.    //calcular el precio para franaja horaria es 2
  13.  }
  14. }
  15. etc...
  16.  
  17.  

Pero el problema es que cuando llame al método todos se van a ejecutar, porque todos tienen los mismo parámetros.
104  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Está prohibido pedir ayuda para tareas? en: 24 Septiembre 2011, 17:44 pm
Sé que está prohibido hacer tareas a los usuarios ¿pero ayudarlos también?

Pregunto porque en este tema el moderador lo cerró (aunque ya estaba resuelto), pero por lo general aquí siempre los temas se quedan abiertos y además el mod me mandó a leer las reglas y esa es la única que se me ocurre que pude infringir.

Y no sé si él me baneeo, porque después de eso, no pude entrar al foro como una semana o algo así. Pero no recibí ninguna advertencia que me dijera que me habían baneado. Cuando trataba de entrar a la página me salía servidor no encontrado, creo...

Antes de abrir este tema mandé un privado al mod, pero no ha respondido.
105  Programación / Java / Eclipse no reconoce carpeta con todos mis proyectos en: 20 Septiembre 2011, 20:33 pm
Lo que pasó fue que los cambié de ubicación y volví a configurar el Workspace con la carpeta donde están todos los proyectos, pero en el Package explorer no aparece ni uno, nada.

Solución:
http://cirovladimir.wordpress.com/2009/07/20/eclipse-abrir-un-proyecto-existente/
106  Programación / Java / Dibujar líneas de colores diferentes. en: 20 Septiembre 2011, 04:00 am
Saqué el código de aquí: http://www.webtaller.com/manual-java/control-flujo.php

Código
  1. import java.util.*;
  2. import java.awt.*;
  3.  
  4. public class Estudiando {
  5. public static void main (String arg[]){
  6. Color color = new Color();
  7. int contador;
  8. for( contador=1; contador <= 12; contador++ ){
  9. switch(contador % 3){
  10. case 0: setColor( Color.red );
  11. break;
  12. case 1: setColor( Color.blue );
  13. break;
  14. case 2: setColor( Color.green );
  15. break;
  16. }
  17. g.drawLine( 10,contador*10,80,contador*10 );
  18. }
  19. }
  20.  
  21. }
  22.  

Dice que dibuja una línea alternando el color. No entiendo muy bien la sentencia:
Código
  1. g.drawLine( 10,contador*10,80,contador*10 );
Por que nunca he usado awt, ni nada que tenga que ver con GUI, así que no sé cuales serían los parámetros que recibe el método drawLine, pero bueno, eso no es lo importante.

Creo que no funciona porque no he creado ninguna instancia de la clase color así que lo la cree y quedo así:
Código
  1.  
  2. import java.util.*;
  3. import java.awt.*;
  4.  
  5. public class Estudiando {
  6. public static void main (String arg[]){
  7. Color color = new Color();
  8. int contador;
  9. for( contador=1; contador <= 12; contador++ ){
  10. switch(contador % 3){
  11. case 0: color.setColor( color.red );
  12. break;
  13. case 1: color.setColor( color.blue );
  14. break;
  15. case 2: color.setColor( color.green );
  16. break;
  17. }
  18. g.drawLine( 10,contador*10,80,contador*10 );
  19. }
  20. }
  21.  
  22. }
  23.  
Que no funciona tampoco.
107  Programación / Java / Imprimir un parámetro de un método en: 14 Septiembre 2011, 08:21 am
Esta es mi clase principal:
Código
  1. public class Practica5c {
  2.  
  3. public class Practica5c {
  4. public static void main (String args[]){
  5. Coche coche1 = new Coche("Toyota", "Camry");
  6. Coche coche2 = new Coche("Honda", "Accord");
  7. Garaje garaje = new Garaje();
  8.  
  9. garaje.aceptarCoche(coche1, "goma pichada");
  10. garaje.devolverCoche();
  11.  
  12. garaje.aceptarCoche(coche2, "aceite");
  13. garaje.devolverCoche();
  14.  
  15. System.out.println("El coche 1 es: "+ coche1.getMarca() +" "+ coche1.getModelo() +"\n La averia es "+ garaje.getAveria() +"\n El precio en averias es "+ coche1.getImporteAveria());
  16. System.out.println("El coche 2 es: "+ coche2.getMarca() +" "+ coche2.getModelo() +"\n La averia es "+ garaje.getAveria() +"\n El precio en averias es "+ coche2.getImporteAveria());
  17. }
  18. }
  19. }

Pero cuando se imprime la avería y el precio en averías son iguales.

La clase Garaje es esta:
Código
  1. public class Garaje{
  2. //atributos
  3. private Coche coche;
  4. private String averia;
  5. private int nCochesAtendidos;
  6. private boolean cocheAdentro;
  7.  
  8. //constructor PUEDE QUE NO VAYA
  9. public Garaje(){
  10. }
  11.  
  12.  
  13.  
  14. //metodo Aceptar Coche
  15. public boolean aceptarCoche(Coche param1, String dano){
  16. averia = dano;
  17. nCochesAtendidos += 1;
  18. if(cocheAdentro == true){
  19. System.out.println("Ya hay un coche en el garage");
  20. return false;
  21. }
  22. else{
  23. cocheAdentro = true;
  24. if(averia == "aceite"){
  25. Motor motor = new Motor(10);
  26. Motor.setLtAceite(10);
  27. Coche.acumularAveria(Math.random()*1000);
  28. }
  29. return true;
  30. }
  31. }
  32.  
  33. //metodo obtener averia
  34. public String getAveria(){
  35. return averia;
  36. }
  37.  
  38. //metodo devolverCoche
  39. public void devolverCoche(){
  40. cocheAdentro = false;
  41. }
  42. }

Tal vez haya hecho mucho disparates porque todavía no entiendo bien la orientación a objetos, pero ahora mismo lo que más  me interesa es saber como puedo hacer que se imprima la correspondiente avería para cada uno de los carros y lo mismo con el precio de averias. Creo que si puediera imprimir el parámetro del método aceptarCoche lo podría hacer para la avería.

Es una versión simplificada de esta práctica
108  Foros Generales / Foro Libre / Alguien que tenga un kindle me hace un favor? en: 31 Agosto 2011, 17:47 pm
Yo me descargué un simulador de libros electrónicos de Amazon, se llama, igual que el aparato: Kindle, a diferencia de que este es solo software.

El problema es que trae un diccionario en inglés, yo lo quiero cambiar a español. Sé que se puede hacer fácilmente en el aparato, pero en el programa es diferente y las instrucciones que hay por internet son para el aparato.

Me descargue un diccionario que se usa en el Kindle con ese mismo propósito, está en formato .mobi. Intenté renombrarlo igual que el que trae por defecto, pero no funcionó. Intenté cambiar los metadatos con Calibre y ponerlo igual que el que trae por defecto, pero no funcionó.

Según yo, solamente hay dos diferenciar entre los diccionarios que trae por defecto y el que yo me descargué. Una es el formato y otra es que los "originales" están protegidos con DRM.


Entonces lo que quiero pedir es que descarguen este diccionario y usen el correo que les da Amazon a sus usuarios de Kindle para convertirlo al formato .azw y creo que así funcionará.
109  Informática / Software / Insertar vídeos en LibreOffice en: 26 Agosto 2011, 03:41 am
Estoy tratando de insertar un video en LibreOffice, pero cuando elijo el video y le doy a aceptar el programa se cierra.

El video está en formato mp4. Lo convertí a avi con ffmpeg, pero no funcionó tampoco.

Estoy en Linux OpenSuse.

Traté de probarlo con el formato WMV con la variante PowerPoint (es una opción del programa), pero me dice la tasa de bits es muy baja, la ajusté a 1000 y eso no es bajo.



Bueno, como en Word tampoco se puede ver el vídeo directamente, lo que hice fue crear un enlace al video, como un hipervínculo y ya.
110  Comunicaciones / Mensajería / Hotmail se cierra solo cada x minutos. en: 25 Agosto 2011, 17:31 pm
Cuando abro la bandeja de entrada de Hotmail mientras estoy revisando los correos se cierra y sale el mensaje: "Vuelve a iniciar la sesión. Para ayudar a proteger tu información personal, tu sesión se cerrará periódicamente (por ejemplo, cada 24 horas o cuando inicies sesión en otra cuenta). Inicia sesión de nuevo"

Pensando que alguien había iniciando sesión desde otro lugar y me sacó a mi, cambié la contraseña varias veces,  intenté cambiar el correo alternativo a uno de gmail, pero parece que no se puede, entonces le cambié la contraseña al alternativo que ya tengo. Pero nada, sigue igual.

También busqué por las opciones algo parecido a eso, pero no encontré nada.
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines