Java - Abrir Porgrama hecho por consola desde un JFrame JAVA

   
Vista:

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 27/10/2015 15:48:55
Buenos días

Necesito llamar desde un Jframe a un programa básico hecho por consola, la idea es que desde un botón en el Jframe se ejecute este, para realizarlo entre programas básicos tengo entendido que tiene la siguiente estructura:

"nomarchivo".manin(args);

pero si hago esto en el evento accion del boton me genera error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Lawliet (243 intervenciones) el 27/10/2015 17:27:36
Hola...

Si piensas ejecutar un programa Java desde tu GUI, entonces prácticamente tienes que usar la línea de comando para poder ejecutarlo desde tu interfaz, teóricamente, aunque es común llamar un programa de consola desde otro programa de consola desarrollado en Java, no debería cambiar o mejor dicho, no tiene porque cambiar la forma en que lo llamas desde una Interfaz.

1
Process process = Runtime.getRuntime().exec("java -jar " + path + "proyectoJava.jar");

De esa manera se debería ejecutar la aplicación que hayas realizado, o por lo menos eso quiero creer.

Has la prueba y ya nos comentas el resultado.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 27/10/2015 18:31:35
Muchas Gracias por su respuesta, me marca en rojo el path


evidencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Lawliet (243 intervenciones) el 27/10/2015 18:36:07
Hola...

Path, es una variable que yo cree del tipo String donde se encuentra toda la ruta de mi programa a ejecutar, puedes cambiar esa parte y agregar directamente la ruta o bien, puedes crear la variable y ahí asignar la ruta ^^.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 27/10/2015 18:45:01
Muchas Gracias, la verdad es que es la primera vez que me piden hacer este tipo de llamado y no me queda claro como creo la ruta de ubicación, me puedes ayudar o sugerir algún enlace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Lawliet (243 intervenciones) el 27/10/2015 18:52:49
Te proporciono un ejemplo de como sería tanto sin variable como con variable.

Con variable.
1
2
String path = "C:\\Proyectos\\proyectoJava.jar\\";
Process process = Runtime.getRuntime().exec("java -jar " + path + "proyectoJava.jar");

Sin variable
1
Process process = Runtime.getRuntime().exec("java -jar C:\\Proyectos\\proyectoJava.jar\\proyectoJava.jar");

Prácticamente, solo busca donde tienes ubicado tu proyecto ^^.

Cualquier duda y/o inconveniente, aquí estamos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Carlos (3 intervenciones) el 27/10/2015 20:04:43
Hola buenas tardes,

Tengo el mismo problema. Soy novato en este mundo de programación y en el instituto donde estoy aprendiendo nos están pidiendo llamar un archivo hecho por consola (cabe aclarar que no esta compilado el archivo) desde un jframe para que al presionar un botón desde el jframe pueda iniciar el archivo consola en la consola IDE de netbeans.
Lo que he hecho es crear un paquete donde tengo incluido mi archivo consola de nombre “opermat” y el jframe de nombre “frm_pruebaconsola” desde el cual deseo llamar a mi archivo “opermat” que esta creado en consola. En el jframe he creado un jbutton1 desde el cual quiero llamar al archivo “opermat” pero no consigo hacerlo, he intentando con la linea opermat.main(args); pero no consigo lograrlo.

Agradeceria cualquier sugerencia que pudieran darme para lograr esto.

Saludos,

Captura-de-pantalla-2015-10-27-a-las-1.59.26-p.m
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Alberto (243 intervenciones) el 27/10/2015 21:57:30
Hola..

Una pregunta, con llamar el archivo a que te refieres?

*Ejecutar un programa Java.
*Abrir un archivo de texto plano y leerlo.

Podrías aclararme esa parte para que pueda orientarte ^^.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 27/10/2015 22:06:14
Alberto Claro que si mira la idea es ejecutar un programa Java desde un boton alojado en un frame, el problema es que este programa java es muy básico y se ejecuta por la ventana de Output del Compilador de Java netbeans, esta es la estructura del codigo del Programa OPERMAT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package basicas;
import java.io.*;
public class opermat
{
public static void main(String[] args)
throws IOException
{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
 
String snum1, snum2, snum3,snum4,snum5,snum6;
int num1,num2,num3,num4,num5,num6,mult,div,rest,cub,m,result;
System.out.println("escriba num1");
snum1=bf.readLine();
num1=Integer.parseInt(snum1);
System.out.println("escriba num2");
snum2=bf.readLine();
num2=Integer.parseInt(snum2);
System.out.println("escriba num3");
snum3=bf.readLine();
num3=Integer.parseInt(snum3);
System.out.println("escriba num4");
snum4=bf.readLine();
num4=Integer.parseInt(snum4);
System.out.println("escriba num5");
snum5=bf.readLine();
num5=Integer.parseInt(snum5);
System.out.println("escriba num6");
snum6=bf.readLine();
num6=Integer.parseInt(snum6);
result=num1+num2+num3+num4+num5;
mult=num6*result;
div=mult/result;
rest=mult-div;
cub=num3*num3*num3;
m=(num2*num3)+num4/num1-num5;
System.out.println("el resultado es\t" +result);
System.out.println("el resultado es\t" +mult);
System.out.println("el resultado es\t" +div);
System.out.println("el resultado es\t" +rest);
System.out.println("el resultado es\t" +cub);
System.out.println("el resultado es\t" +m);
}
}


Al ejecutarce por consola de output del compilador de Java net beans no puedo llamarlo desde un Boton en un Jframe con el codigo opermat.main(args);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Lawliet (243 intervenciones) el 27/10/2015 22:18:52
Entonces déjame ver si comprendo la pregunta...

Tienes tu botón en un proyecto A el cual prácticamente es donde andas trabajando ahorita, tu archivo que piensas llamar es otro proyecto aparte por lo que podemos llamarlo como proyecto B, y lo que planeas es ocupar los métodos del proyecto B en tu proyecto A, o no es correcta mi conclusión ^^!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 27/10/2015 22:21:53
No mira me explico asi

Estoy trabajando en un proyecto A en el cual tengo un boton que se llama op matematicas, al momento de pulsar clic sobre este boton debe empezar a compilar el proyecto B que es un proyecto lo mas de basico donde yo imprimo "Hola Mundo" en la consola. y automaticamente debe ocultarse el proyecto A
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por Lawliet (243 intervenciones) el 27/10/2015 22:44:45
Perfecto, te paso unas modificaciones al código anterior para que puedas observar las salidas del proyecto B en tu proyecto A...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Process processDescarga;
BufferedReader output;
BufferedReader error;
try {
	processDescarga = Runtime.getRuntime().exec("java -jar C:\\proyecto\\proyectoJava.jar");
	output = new BufferedReader(new InputStreamReader(processDescarga.getInputStream()));
	error = new BufferedReader(new InputStreamReader(processDescarga.getErrorStream()));
 
	String linea= "";
 
	while ((linea= output.readLine()) != null) {
		System.out.println(linea);
	}
 
	while ((linea= error.readLine()) != null) {
		System.out.println(linea);
	}
 
	processDescarga.waitFor();
} catch (IOException ioe) {
	ioe.printStackTrace();
} catch (InterruptedException ie) {
	ie.printStackTrace();
}

Es importante mencionarte lo siguiente...

1.- Es necesario que tu proyecto B lo importes aun archivo ejecutable de Java; es decir, un archivo .JAR, ya que dentro de el se encuentran todas las clases del proyecto compiladas, al final de cuentas lo que se utilizan cuando nosotros ejecutamos un proyecto, ya sea desde nuestro IDE o un CMD lo que importa son los archivos .class.
2.- Importante que tu proyecto B contenga el método Main, que es el método de entrada de todo programa Java. Esto es importante para que la maquina virtual de java pueda interpretar ese archivo que estas ejecutan como otra aplicación Java con capacidad de ejecución; es decir, que pueda ejecutarse.
3.- Cambia mi proyecto de ejemplo por el proyecto que tu vas a ejecutar, recuerda ingresar toda la ruta.
4.- No te olvides de hacer los import necesarios de las clases que se usan en el código anterior para que no te salgan errores.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Abrir Porgrama hecho por consola desde un JFrame JAVA

Publicado por David (9 intervenciones) el 28/10/2015 13:24:10
Muchas Gracias, tenias la razón no se puede llamarlo sin antes exportarlo como jar ya que un frame es un software gráfico y no es compatible con uno que se hizo por consola.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar