Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Duda con programita Java

Estas en el tema de Duda con programita Java en el foro de Java en Foros del Web. Hola, qué tal? Soy nuevo por aquí y me gustaría que me ayudarais con un problemilla en un programa java. Soy estudiante de 1º de ...
  #1 (permalink)  
Antiguo 12/11/2011, 04:06
 
Fecha de Ingreso: noviembre-2011
Ubicación: Granada
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Duda con programita Java

Hola, qué tal? Soy nuevo por aquí y me gustaría que me ayudarais con un problemilla en un programa java.
Soy estudiante de 1º de desarrollo de aplicaciones multiplataforma y, evidentemente, no poseo mucha experiencia en ningun tipo de programación, más allá del System.out.println, definicion de public class, variables primitivas... (no mucho más).
Dicho ésto, voy al lío. Estoy haciendo un sencillo programa, el cual me genera un numero aleatorio y segun ese numero me muestra una página asociada a él. El problema es el siguiente, a la hora de mejorarlo, me gustaría que al usuario no sólo le mostrara la página que le ha tocado, sino que se le abriera el navegador con ella en la barra de direcciones. En el código se detecta la sentencia EntradaConsola.leeEntero, eso es una clase que definió mi profesor para almacenar datos en una variable de forma más facil (si me proporcionarais ayuda para saber como se hace ésto en todas partes tambien os lo agradeceria muchisimo)
Mi codigo es el siguiente:

public class Paginillas{
public static void main(String[] args){
int a, b;
char continuar;
System.out.println("Bienvenido al generador de sites");
do{
a=(int)(Math.random()*5+1);
System.out.println("Se ha generado un numero aleatorio");
System.out.println("Pulse 1 para ver su site:");
b=EntradaConsola.leeEntero();
if (b==1){
switch (a){
case 1: System.out.println("www.google.es");break;
case 2: System.out.println("www.marca.com");break;
case 3: System.out.println("www.msn.es");break;
case 4: System.out.println("www.elmundo.es");break;
case 5: System.out.println("www.youtube.es");break;
}
}
System.out.println("¿Deseas repetir el proceso? S/N");
continuar=EntradaConsola.leeCaracter();
}while (continuar=='s'||continuar=='S');
}
}

Cuando ejecuto el programa, se abre la consola MSDOS, mostrandome el texto, de manera que cuando, por ejemplo, se genera el 1, me enseña por pantalla: www.google.es, pero a mi me gustaria que abriera el navegador cual si lo abrieramos e insertasemos esta direccion y pulsáramos intro.
No sé si me he explicado bien y tampoco si será posible, si no lo es, no pasa nada, ya que es ocio jaja.
Perdon por el tocho y feliz dia!! :D
  #2 (permalink)  
Antiguo 12/11/2011, 10:35
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 13 años, 5 meses
Puntos: 17
Respuesta: Duda con programita Java

pues puedes usar la clase Desktop y la clase URI
la clase Desktop te serviria para abrir la pagina en el escritorio y el URI para la URL
de la pagina
importas las librerias. lo que tendrias que tomar en cuenta es si la version de java que estes
usando incluye esta libreria.
import java.awt.Desktop;
import java.net.URI;

public class clase{
public static void main(String[] a)throws Exception {
Desktop.getDesktop().browse(new URI("http://www.google.com"));
}
}

esto seria todo, ahora solo adaptalo a tu programa
saludos
  #3 (permalink)  
Antiguo 12/11/2011, 16:19
 
Fecha de Ingreso: noviembre-2011
Ubicación: Granada
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Duda con programita Java

Muchísimas gracias por tu pronta respuesta, alan.
La version de java que uso es la 6.0 y además te puedo decir que el editor que uso se llama Editplus V2.10c.
Comentarte que cuando escribo la palabra Desktop se queda en color negro, sin embargo el código que me has proporcionado, Editplus lo compila sin problemas.
Ahora bien, una vez añadido éste código a mi carpeta programas, quisiera saber cual es la sentencia que debo añadir (en cada case del switch) a mi programa para llamar a éste método, ya que el código lo he copiado en un archivo .java distinto del .java de mi programa.

Disculpa mi ignorancia, y te descojonarás de lo enrevesado que lo hago todo, pero por algo se empieza, reitero mi agradecimiento a tu respuesta y a la siguiente cuando me la des
Saludos y muy buenas noches!!

Última edición por litozz; 12/11/2011 a las 16:29
  #4 (permalink)  
Antiguo 14/11/2011, 08:50
Avatar de alan_69niupi  
Fecha de Ingreso: junio-2011
Mensajes: 200
Antigüedad: 13 años, 5 meses
Puntos: 17
Respuesta: Duda con programita Java

switch (a){
case 1: System.out.println("www.google.es");
Desktop.getDesktop().browse(new URI("http://www.google.es"));break;
case 2: System.out.println("www.marca.com")
Desktop.getDesktop().browse(new URI("http://www.marca.com"));;break;
case 3: System.out.println("www.msn.es");break;
case 4: System.out.println("www.elmundo.es");break;
case 5: System.out.println("www.youtube.es");break;
}

y asi con los demas, saludos
  #5 (permalink)  
Antiguo 14/11/2011, 11:18
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Duda con programita Java

litozz: Muevo tu tema al foro de Java.

Saludos
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 14/11/2011, 14:18
 
Fecha de Ingreso: noviembre-2011
Ubicación: Granada
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Duda con programita Java

Gracias de nuevo, alan.

Me da error al compilar, elucubro que sea por la no existencia de la clase Desktop en mi libreria de java, de todas formas me dice algo así como que no encuentra la variable Desktop; PERO SI NO ES UNA VARIABLE!!!! arghh!!
No se como solucionar esto...

A Carlangueitor, gracias a ti tambien .
Saludos!!
  #7 (permalink)  
Antiguo 16/11/2011, 11:48
 
Fecha de Ingreso: enero-2011
Mensajes: 47
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: Duda con programita Java

Cita:
Iniciado por litozz Ver Mensaje
Gracias de nuevo, alan.

Me da error al compilar, elucubro que sea por la no existencia de la clase Desktop en mi libreria de java, de todas formas me dice algo así como que no encuentra la variable Desktop; PERO SI NO ES UNA VARIABLE!!!! arghh!!
No se como solucionar esto...

A Carlangueitor, gracias a ti tambien .
Saludos!!
De seguro te falta hacer los import correspondientes, escribe esto en la parte de arriba de tu codigo fuente (despues de la sentencia package):

import java.awt.Desktop;
import java.net.URI;
  #8 (permalink)  
Antiguo 16/11/2011, 13:57
 
Fecha de Ingreso: noviembre-2011
Ubicación: Granada
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Duda con programita Java

Gracias, hkdejo, pero ni aún así.
  #9 (permalink)  
Antiguo 17/11/2011, 02:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Duda con programita Java

¿Pero tienes los .class de awt metidos dentro del classpath?
Es decir, el jar en la carpeta donde van tus .class
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #10 (permalink)  
Antiguo 17/11/2011, 05:02
 
Fecha de Ingreso: noviembre-2011
Ubicación: Granada
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Duda con programita Java

Fuzzy, me hablas en chino jaja
En realidad declaré las variables de entorno path y classpath en sus correspondientes directorios (bin y lib\tools.jar de java respectivamente para usar editplus, compilar y ejecutar en modo consola.)
A partir de ahi he empezado a crear programitas a pelo y a crear clases. Sé lo que es importar por lo que pone en el diccionario, pero de java??? chino completamente. Añadí las lineas "import java.awt.Desktop;" e "import java.net.URI;" a mi codigo y el resultado es el mismo: problema en la variable Desktop (no la encuentra) y la misma historia para Url.
Puede ser que ni siquiera tenga las clases Desktop y URl declaradas en mi version de java 6.0 o no lo sé.
Si alguien fuera tan amable de reformar mi código para copiarlo y compilarlo se lo agradecería muchísimo a la par que me diera las instrucciones necesarias para agregar lo que falte a mi librería, ya que si a una persona le va el programa y a otro no, debe faltar algo forzosamente.
Espero vuestras respuestas. Gracias y un cordial saludo, compañeros.
  #11 (permalink)  
Antiguo 17/11/2011, 09:14
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Duda con programita Java

Me refiero que las clases de las que haces import (las dependencias) deben estar también en la ruta de tu classpath ( /bin )
java.awt.Desktop => Habrá algún jar de java awt no?
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: entrada, ide, programa, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:29.