Google

viernes, 27 de septiembre de 2013

Ejecutar aplicación externa con Java


El siguiente código permite ejecutar una aplicación externa desde un programa desarrollado en java

        try {
            Process process = Runtime.getRuntime().exec("D:\\cole2k.exe");
            InputStream inputstream = process.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

En lugar de D:\\cole2k.exe , se debe colocar el nombre del programa a ejecutar.

Además, se pueden pasar parámetros a los programas, para que los mismos se ejecuten de una manera determinada.

En mi caso quise instalar el programa cole2k pero quería que la instalación se hiciera en forma desatendida.

Existe un programa llamado Universal Silent Switch Finder que muestra los parámetros soportados por la aplicación a ejecutar, aunque no todas las aplicaciones están soportadas.

Por lo tanto en mi caso lo que hice fue ejecutar el programa pasando el parámetro correspondiente para que el codec se instalara en forma desatendida, quedando:

        try {
            Process process = Runtime.getRuntime().exec("D:\\cole2k.exe /S");
            InputStream inputstream = process.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

martes, 3 de septiembre de 2013

Seleccionar una fila de JTable con el botón Derecho

Para seleccionar una fila de un JTable con el botón derecho se debe utilizar el siguiente código:

        tabla.addMouseListener(new MouseAdapter() {
                                   public void mousePressed(MouseEvent e) {
                                       if ( SwingUtilities.isLeftMouseButton(e)) {
                                         
                                       } else {
                                            if ( SwingUtilities.isRightMouseButton(e)) {
                                               Point p = e.getPoint();
                                               int rowNumber = tabla.rowAtPoint( p );
                                               ListSelectionModel modelo = tabla.getSelectionModel();
                                               modelo.setSelectionInterval( rowNumber, rowNumber );
                                           }
                                       }
                                   }
                               }
        );