Java - Ayuda con JButton II

   
Vista:

Ayuda con JButton II

Publicado por Alan Garcia (11 intervenciones) el 26/07/2010 22:53:42
Hola a todo, por fin después de mucho intentos he logrado colocar los botones donde lo deseaba. La aplicación funciona casi perfectamente. Cuando la misma finaliza, aparece la pregunta "¿Deseas seguir ejecutando? Si el usuario decide "NO", ésta finaliza satisfactoriamente. En tanto, si decide continuar, la misma no ejecuta la acción requerida, cuando después de la instrucción evento.getActionCommand() (línea 83), coloco la instrucción "new EJEMPLO022()".

Mi pregunta es, ¿cómo puedo hacer para que una vez hecho "clic" en el botón "Si", la acción que desencadene sea el inicio de la aplicación?

Al utilizar el método repaint(), la aplicación se reinicia nuevamente, pero los botones no desaparecen.

Aquí les envio el código fuente. (recuerden que estoy trabajando en IDE Netbean 6.9). Me acaba de actualizar.

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;

public class EJEMPLO022 extends JFrame implements ActionListener {
Container contenedor = getContentPane();
// ControlBoton control = new ControlBoton();
JButton Si = new JButton("Si");
JButton No = new JButton("No");

public EJEMPLO022() {
super("Dibujo de un conjunto de estrellas.");
contenedor.setBackground(Color.WHITE);

} // cierre del constructor EJEMPLO022()

public void paint(Graphics g) {
int k = 1;
super.paint(g);
int puntosX[] = {55, 67, 109, 73, 83, 55, 27, 37, 1, 43};
int puntosY[] = {0, 36, 36, 54, 96, 72, 96, 54, 36, 36};

Graphics2D g2d = (Graphics2D) g;
GeneralPath estrella = new GeneralPath(); // crea objeto GeneralPath.
contenedor.setLayout(new FlowLayout());
// Establece coordenada inicial de la ruta general
estrella.moveTo(puntosX[0], puntosY[0]);

// Dibuja estrella
for(int n = 1; n < puntosX.length; n++)
estrella.lineTo(puntosX[n], puntosY[n]);
estrella.closePath(); // procede a cerrar la figura
g2d.translate(200,200); // traslada el origen a (200, 200).

// Gira alrededor del origen y dibuja estrella en colores arbitrarios.
while(k <= 20) {
pausa();
g2d.rotate(Math.PI/10.0); // procede a gira el sistema de coordenadas
g2d.setColor(new Color((int)(Math.random() * 256),
(int)(Math.random() * 256), (int)(Math.random() * 256)));
g2d.fill(estrella); // dibuja estrella rellena.
k++;
} // cierre de while

// Coloca los botones de continuar o no con la ejecución.
g.setFont(new Font("Arial Rounded MT Bold", Font.PLAIN,14));
g.drawString("¿Deseas seguir ejecutando?", -90, 150);
Si.addActionListener(this);
No.addActionListener(this);
add(Si);
Si.setBounds(new Rectangle(150, 350, 50, 30));
add(No);
No.setBounds(new Rectangle(210, 350, 50, 30));
} // cierre del método paint().

public static void main(String args[]) {
// Objetivo del ejemplo.
EJEMPLO022 aplicacion = new EJEMPLO022();
/* JOptionPane.showMessageDialog(null, "El programa muestra el " +
"uso de la clase \"JButton\" para continuar con la ejecución \n" +
"de una aplicación en forma repetitiva.\n", "Objetivo",
JOptionPane.INFORMATION_MESSAGE); */
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
aplicacion.setSize(400, 500);
aplicacion.setLocation(400, 150);
aplicacion.setVisible(true);
} // cierre del métod main.

static void pausa() {
try {
Thread.sleep(100,10000); // Pausa en milisegundos + nanosegundos.
}
catch(InterruptedException exc) {}
return;
} // cierre del método pausa.

public void actionPerformed(ActionEvent evento) {

if(evento.getSource() == Si) {
evento.getActionCommand();
new EJEMPLO022();
// repaint();
} else if(evento.getSource() == No) {
evento.getActionCommand();
salida();
System.exit(1);
}
} // cierre de actionPerformed

void salida() {
JOptionPane.showMessageDialog(null, "Ha sido un placer haber " +
"trabajado con usted. Hasta luego...", "Salida",
JOptionPane.INFORMATION_MESSAGE);
return;
}
} // cierre de la clase EJEMPLO022.

Saludos a todos y gracias de antemano.

Deseo dar mis agradecimiento a la srita. Mayrita por haberme escrito.
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

RE:Ayuda con JButton II

Publicado por mayrita (163 intervenciones) el 27/07/2010 06:04:37
mmm maneja setvisible(false)
segun como lo necesites
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