Tengo una muy simple, elige tu camino, juegos Java de la que estoy trabajando en NetBeans IDE. Básicamente lo que sucede es que el usuario haga clic en uno de los tres botones, y pre-hechos JLabel‘s, que se establecen en "" (nada) se restablecerán a cualquier texto que decido que la etiqueta debe entonces utilizar. Tengo que hacer esto añadiendo el siguiente código.

private void option1ActionPerformed(java.awt.event.ActionEvent evt) {
    jLabel6.setText("You go down the dark tunnel...");
}

Ahora, todo esto funciona bien, pero me gustaría una forma de reiniciar/restablecer mi aplicación haciendo clic en un botón con la etiqueta «reiniciar». No me importa si se tiene que cerrar la aplicación y, a continuación, abra de nuevo o si simplemente restablecer todos los JLabel la espalda «». No quiero tener que escribir el código a continuación para cada uno de los JLabel.

jLabel1.setText("");
jLabel2.setText("");
jLabel3.setText("");

He hecho algunas investigaciones sobre este sitio y ninguno de los código que las personas proporcionan parece que a mi situación, ya sea porque simplemente no funciona o porque estoy haciendo algo mal. Cualquier ayuda sería muy apreciada y por favor, trate de ser específico porque soy bastante nuevo en la escritura de Java y no entiendo todo.

También funcionaría para mí, si alguien podría proporcionar una manera para mí para cerrar con 1 ventana en una aplicación en lugar de la totalidad de la cosa, como cuando

System.exit(0);

se utiliza.

  • No está claro realmente tu problema
  • No hay código necesario ni suficiente de una explicación del problema de aquí a proporcionar cualquier tipo de respuesta que no conjeturas.
  • Thilina Dayaratne me gustaría reiniciar mi programa, por lo que en cualquier parte del juego que el usuario, cuando el botón de reinicio se hace clic, el juego volverá a sus inicios estado en que estaba cuando la aplicación se ejecuta por primera vez.
  • Si usted tiene este juego .el archivo jar a continuación, puede utilizar el tiempo de ejecución.getRuntime().exec(«java -jar urapp.jar»); System.exit(0);
  • docs.oracle.com/javase/7/docs/api/java/awt/…
  • Si usted decide respuesta de usted por favor, publicarlo como una respuesta y lo acepta (es legítima la respuesta a su propia pregunta).
  • va a hacer.

InformationsquelleAutor MattS | 2014-09-27

3 Comentarios

  1. 2

    Primera, recomiendo la importación de los de la clase JLabel específicamente para ello, puede escribir JLabel en lugar de javax.swing.JLabel:

    import javax.swing.JLabel;

    Lugar de la declaración de cada uno de los JLabel individualmente, crear una Matriz de JLabels:

    JLabel[] jLabels = new JLabel[N]; //where N is the number of JLabels

    Siempre que usted necesite para tener acceso a un JLabel, uso:

    jLabels[6].setText("You go down the dark tunnel...");

    Cuando desea restablecer todos los JLabels, uso:

    for (JLabel jLabel : jLabels) {
        jLabel.setText("");
    }

    Para más detalles sobre las Matrices, leer http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

    • Él está usando los nombres completos, ya que la GUI builder hizo, si para él.
    • sí tienes razón, pero sólo después de la pregunta que me he decidido a deshacerse de el generador para tener más control.
  2. 0

    Si usted está teniendo su programa como un archivo jar ejecutable, a continuación, puede utilizar

    public void restert(){
         Runtime.getRuntime().exec("java -jar yourapp.jar");
         System.exit(0);
    }

    Si quieres saber más acerca del reinicio de la aplicación de java, se puede ir a través de este

  3. 0

    Encontrado la respuesta a mi propia pregunta:

    Gracias a Holger por lo que sugiere «tire». Esto es lo que he encontrado trabajado.

    private void restartButtonActionPerformed(ActionEvent evt)  {
        if(evt.getSource() == restartButton)
        {
            dispose();
            MyGUI game = new MyGUI();
            game.setVisible(true);
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here