elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9 10
61  Programación / Java / Re: Control de Threads avanzado en: 4 Noviembre 2009, 22:21 pm
Lo que puedes hacer es lo siguiente. Utilizas un hilo para hacer una tarea de generar datos por ejemplo y los vas guardando en una pila o una cola. Luego desde otro hilo los vas recuperando y haces otra tarea. Es como en este esquema:

|Hilo A|   --> Pila o cola <-- |Hilo B|

Así no tendrías la necesidad de pararlos nunca. Cuando no hay datos, Hilo B se queda esperando. Cuando hilo A añade datos despiertas con el metodo notifyAll() por si Hilo B esta esperando...
Y asi...

Si quieres parar los procesos. La gente no lo recomienda hacer mediante thread.stop(); porque no sabes en que punto se va ha quedar y si te puede generar problemas... Entonces te sugiero que utilices dentro del metodo run() de tu thread alguna artimaña.

Por ejemplo:
Código
  1. public void run() {
  2.   while(estadoDeMiHilo){//mientras no haya que salir
  3.    for(int i = 0; i < 10; i++) {
  4.  
  5.        datoObtenido = "Hola";
  6.        contador=1;
  7.        contador++;
  8.  
  9.            }
  10.    }
  11.      if(estadoDeMiHilo==pausa){
  12.        wait();
  13.      }
  14.   }
  15.  

Te recomiendo que leas mucha info y vayas haciendo ejemplos sencillos y una vez que tienes la estructura que quieres comienza a hacer tu programa.
62  Programación / Java / Re: como eliminar una linea de un JTextArea ? en: 3 Noviembre 2009, 17:10 pm
Hola Cesk,

Pero para eso tienes que saber que string cojer no?

Es que en un document la información me parece que se organiza asi:

|h|o|l|a|"/n"|¿|c|ó|m|o|" "|e|s|t|a|s|?|"/n"|

Por lo que no puedes saber donde empieza una línea creo...
63  Programación / Java / Re: Script en: 3 Noviembre 2009, 17:04 pm
Si, abre dos programas distintos, lo he puesto por poner un ejemplo.
Prueba ha escribir:

Process p = Runtime.getRuntime().exec("cmd /c nombreScriptOComando");

No tengo ni idea de que ocurrirá pero para probar y evitar problemas de rutas deja el script en c:/ por si te da problemas con los espacios de la ruta. Luego tu verás si te funciona con la ruta.

Mira si haces esto te sale la consola y una pausa (cuando termine se cerrará):

Process p = Runtime.getRuntime().exec("cmd /c pause");
//no he probado el comando entero, solo he probado "inicio" -> "ejecutar" -> cmd /c pause

Suerte.
64  Programación / Java / Re: como eliminar una linea de un JTextArea ? en: 2 Noviembre 2009, 23:40 pm
   Ya pero eso te daría la posición de la primera ocurrencia. Y tendría que hacer el proceso de buscarla. No lo veo muy efectivo.
   He optado por guardar en un array de enteros la longitud de las líneas y cuando tenga que eliminar una línea lo miro ahí directamente. Es que pensaba que habría alguna función que te diese la longitud de las líneas. Con una función que haga eso estaría genial.
Gracias -Ramc-
65  Programación / Java / como eliminar una linea de un JTextArea ? en: 2 Noviembre 2009, 22:38 pm
Hola.

Sabeis como puedo eliminar una línea de un JTextArea?

Me imagino que será con:

getDocument().remove(posicionInicial, posicionFinal);

Pero.. como puedo saber el comienzo y el final de una línea? o hay alguna forma más sencilla?
66  Programación / Java / Re: Script en: 2 Noviembre 2009, 22:26 pm
A ver si te sirve esto, ten en cuenta la rutas también para que no te hagas un lio. Para ejecutar un script supongo que será igual, en vez de programa1 pones el nombre del script no?

Código
  1.  
  2. try{
  3.  //abrimos un programa
  4.  Process p = Runtime.getRuntime().exec("programa1"); //tambien le puedes poner argumentos
  5.  //Process p = Runtime.getRuntime().exec("programa1 arg1");
  6.  int exitCode = p.waitFor();
  7.  System.out.println(exitCode);
  8.  p = Runtime.getRuntime().exec("programa2");//abrimos otro
  9.  if (exitCode != 0)
  10.  {
  11.   //si sale mal... aqui deberias poner algo
  12.    //..
  13.    p = Runtime.getRuntime().exec(cmd);
  14.  }
  15.  }catch (IOException e){
  16.    e.printStackTrace();
  17.  }catch (InterruptedException ee){
  18.      ee.printStackTrace();
  19.  
  20.  }
  21.  
  22.  
67  Programación / Java / Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication en: 27 Octubre 2009, 22:53 pm
Gracias. Creo que ya voy aclarandome. ;D

Igual asi... aunque lo veo redundante:

Código
  1. package desktopapplication2;
  2.  
  3. public class DesktopApplication2 extends SingleFrameApplication {
  4.  
  5.    private ObjetoA objeto;
  6.  
  7.    @Override protected void startup() {
  8.        show(new DesktopApplication2View(this, objeto));
  9.    }
  10.  
  11.    @Override protected void configureWindow(java.awt.Window root) {
  12.    }
  13.  
  14.    public static DesktopApplication2 getApplication() {
  15.        return Application.getInstance(DesktopApplication2.class);
  16.    }
  17.  
  18.    public static void main(String[] args) {
  19.  
  20.        //se crea el splashScreen
  21.        SplashScreen splashScreen = new SplashScreen();
  22.        //lo mostramos
  23.        splashScreen.mostrar();
  24.  
  25.        //cargamos los objetos pesados, su carga requiere mucho tiempo
  26.        objeto = new ObjetoA();
  27.        objeto.hacerTarea();
  28.  
  29.        //splashScreen desaparece
  30.        splashScreen.desaparece();
  31.  
  32.        //*:) como paso los objetos a la aplicacion grafica-----------------------------------------
  33.        //los pasas en el startup()
  34.  
  35.        launch(DesktopApplication2.class, args);
  36.    }
  37. }
  38.  

Lo que no mola es que el objeto "private ObjetoA objeto;" tiene que estar en la clase DesktopApplication2 y en la DesktopApplication2View. Eso es feo :huh:
68  Programación / Java / Re: que pasos debo seguir para crear una aplicacion? SingleFrameApplication en: 27 Octubre 2009, 21:58 pm
Ya :P pero nose como los tengo que pasar.

Es que en esta instrucción podrias pasarle string en args, pero como paso un objeto...
launch(DesktopApplication2.class, args);

Es mas, se lo tendría que pasar a DesktopApplication2View que es lo que contiene todo no?

O deberia declarar ObjetoA como... public ObjetoA objeto; en DesktopApplication2 y acceder desde DesktopApplication2View de alguna forma?
69  Programación / Java / que pasos debo seguir para crear una aplicacion? SingleFrameApplication en: 27 Octubre 2009, 21:13 pm
Stoy hecho un lio...  :o

   He hecho una aplicacion de escritorio con Netbeans. Le he puesto un splashScreen para que salga una imagen mientras se va cargando.
   La duda es, que proceso debo seguir para ir cargando la aplicación, cargar los objetos y demás que requieran mucho tiempo. Entonces cuando ya se haya concluido pasarlos de alguna forma a la parte grafica. Se lanza con launch(DesktopApplication.class, args); y en este punto es cuando debería desaparecer el splash.

Esta es la estructura que tiene mas o menos:

Código
  1. package desktopapplication2;
  2.  
  3. public class DesktopApplication2 extends SingleFrameApplication {
  4.  
  5.    @Override protected void startup() {
  6.        show(new DesktopApplication2View(this));
  7.    }
  8.  
  9.    @Override protected void configureWindow(java.awt.Window root) {
  10.    }
  11.  
  12.    public static DesktopApplication2 getApplication() {
  13.        return Application.getInstance(DesktopApplication2.class);
  14.    }
  15.  
  16.    public static void main(String[] args) {
  17.  
  18.        //se crea el splashScreen
  19.        SplashScreen splashScreen = new SplashScreen();
  20.        //lo mostramos
  21.        splashScreen.mostrar();
  22.  
  23.        //cargamos los objetos pesados, su carga requiere mucho tiempo
  24.        ObjetoA objeto = new ObjetoA();
  25.        objeto.hacerTarea();
  26.  
  27.        //splashScreen desaparece
  28.        splashScreen.desaparece();
  29.  
  30.        //*:) como paso los objetos a la aplicacion grafica-----------------------------------------
  31.  
  32.        launch(DesktopApplication2.class, args);
  33.    }
  34. }
  35.  
  36.  

DesktopApplication2View otra parte de codigo:
Código
  1. public class DesktopApplication2View extends FrameView {
  2.  
  3.    public DesktopApplication2View(SingleFrameApplication app) {
  4.        super(app);
  5.  
  6.        initComponents();
  7.        ....
  8.        }
  9.  
  10.       ....
  11.  
  12.        @Override protected void finished() {
  13.            setSaveNeeded(false);
  14.        }
  15.    }
  16. }
  17.  
  18.  

Si hay que hacerlo de otra manera corregirme por favor.
70  Programación / Java / Re: problema, ruta de los recursos. non-static method... No puedo poner una imagen. en: 27 Octubre 2009, 20:39 pm
Gracias, ya esta solucionado.

He escrito en la clase del splashScreen -->
image = Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("desktopapplication/resources/splashScreen.jpg"));

Y por ahora funciona bien  :silbar:
Páginas: 1 2 3 4 5 6 [7] 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines