Necesito tu ayuda. Tengo un ejecutable en C llamado "generator.out" que es una función main () que recibe int argc y char * argv []. Los argumentos para esta función principal son un archivo (llamémoslo sample.da) y un archivo de destino (llamémoslo.bn). Necesito crear una interfaz java que pueda leer esos nombres (sample.da y out.bn) y ejecutar mi función. El código que tengo hasta ahora es:
package swingapps;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;
import java.lang.*;
public class Swingapps {
private JButton button = new JButton("Generate Bayesian Network");
private JTextField path=new JTextField(40);
private JTextField name=new JTextField(40);
public Swingapps(JPanel jp) {
jp.add(button);
jp.add(path);
jp.add(name);
button.addActionListener(new Handler());
path.addActionListener(new Read());
name.addActionListener(new Call());
}
String text;
private class Read implements ActionListener {
public void actionPerformed(ActionEvent evt) {
text = path.getText();
path.selectAll();
}
}
String namet;
private class Call implements ActionListener {
public void actionPerformed(ActionEvent evt) {
namet = name.getText();
path.selectAll();
}
}
File filep=new File("text"+File.separator+"text");
File filen=new File("namet"+File.separator+"namet");
private class Handler implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
Process p= Runtime.getRuntime().exec("/home/user/workspace/proj2/./generator.out");
}
catch(IOException ioex)
{
ioex.printStackTrace();
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Contador ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
frame.setContentPane(p);
p.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS));
Swingapps app = new Swingapps(p);
frame.pack();
frame.setVisible(true);
}
}
Tenga en cuenta que soy un novato en Java, así que no entiendo mucho de esto. ¡Solo necesito una interfaz simple para ejecutar este programa!
¡Muchas gracias!
Eche un vistazo a la clase ProcessBuilder , aquí hay un ejemplo que podría adaptarse a su situación:
String command = "generator.out";
String arg1 = "sample.da";
String arg2 = "out.bn";
java.io.File workinDir = new java.io.File("/tmp");
ProcessBuilder pb = new ProcessBuilder(command, arg1, arg2);
pb.directory(workinDir);
Process p = pb.start();
Estoy tratando de llamar: https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester & AWSAccessKeyId = [ID de la clave de acceso del solicitante] & Version = 2012-03-25 & Operation = ...
Soy nuevo en el análisis DOM, su requisito es agregar los elementos en posiciones específicas en el archivo xml existente utilizando el analizador DOM. Obtendremos las posiciones y los nombres de los elementos que se agregarán, ...
Tengo este panel modal y quiero que el usuario pueda enviar una búsqueda desde él y luego obtener los resultados de esa búsqueda a continuación en el panel modal. Si es posible, alguien podría señalarme ...
Estoy tratando de escribir un tic tac toe para dos usuarios usando la tecnología JSF. De los libros y tutoriales que he leído, entiendo cómo funciona JSF y cómo escribir una aplicación web para que la use un usuario, digamos Celsius para ...