Java - Ayuda con JButton

 
Vista:

Ayuda con JButton

Publicado por Alan Garcia (11 intervenciones) el 26/07/2010 02:41:54
Hola a todo, estoy comenzando a trabajar con applets, para ello he estado estudiando del libro COMO PROGRAMAR EN JAVA 7MA. ED. de Dietel & Dietel.

Trabajo en IDE Netbeans 6.8

El problema que presento es que no logro colocar dos botones que le indiquen al usuario si desea continuar o no con la ejecución de una aplicación.

He modificado un ejemplo que aparece en el libro antes citado (ver págs. 567-569).

El código fuente es el siguiente:

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

public class EJEMPLO022 extends JFrame {
private JButton Si, No;
private JLabel etiqueta, etiqueta02;
Container contenedor = getContentPane();

public EJEMPLO022() {
super("Dibujo de un conjunto de estrellas.");
contenedor.setBackground(Color.WHITE);
setResizable(false);
setSize(800, 500);
setLocation(400, 150);
contenedor.setLayout(null);
} // 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.
ControlBoton control = new ControlBoton();

// 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
g.setColor(Color.black);
g.setFont(new Font("Arial Rounded MT Bold", Font.PLAIN,14));
g.drawString("¿Deseas seguir calculando?", -90, 150);
Si = new JButton("Si");
No = new JButton("No");

Si.setBounds(350, 110, 50, 30);
contenedor.add(Si);
contenedor.add(No);
Si.addActionListener(control);
No.addActionListener(control);

// continuacion();
} // cierre del método paint().

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

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

private class ControlBoton implements ActionListener {
public void actionPerformed(ActionEvent evento) {

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

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.

La aplicación corre casi perfectamente, salvo que al finalizar la misma, no me aparecen los botones "Si" y "No" que me permitirían ver nuevamente o no la ejecución de la misma. ¿Me podrían ayudar en esto, por favor?

Saludos a todos y gracias de antemano.
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

Publicado por mayrita (163 intervenciones) el 26/07/2010 05:40:32
te faltan los bounds del boton NO
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

RE:Ayuda con JButton

Publicado por gjbr (11 intervenciones) el 26/07/2010 11:17:12
Así es, es que yo estaba tratando de ubicar el botón "Si", y no me fue posible.

Saludos
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