Foros del Web » Programación para mayores de 30 ;) » Java »

JFrame y JDialog

Estas en el tema de JFrame y JDialog en el foro de Java en Foros del Web. Hola, ayuda por favor. ¿Cómo logro que desde un botón de un JFrame este se vincule y pueda hacer lo mismo que hacen los botones ...
  #1 (permalink)  
Antiguo 22/08/2013, 14:12
 
Fecha de Ingreso: julio-2013
Mensajes: 20
Antigüedad: 10 años, 9 meses
Puntos: 0
JFrame y JDialog

Hola, ayuda por favor.

¿Cómo logro que desde un botón de un JFrame este se vincule y pueda hacer lo mismo que hacen los botones de un JDialog como si fuera el mismo botón.?


Cualquier pregunta o duda, pregúntenme y se las aclaro
De antemano muchas gracias por cualquier ayuda

Última edición por carmiress; 22/08/2013 a las 15:12
  #2 (permalink)  
Antiguo 23/08/2013, 12:58
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: JFrame y JDialog

Explica mejor tu duda, por que la verdad que no me entero xD
  #3 (permalink)  
Antiguo 23/08/2013, 17:06
 
Fecha de Ingreso: julio-2013
Mensajes: 20
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: JFrame y JDialog

Tengo un programa en un JDialog es un cronometro pero es en retroceso, este tiene los botones iniciar, pausa, y detener, un JLbael para mostrar la accion y progreso del crono, al igual que campos de texto para introducir el valor de las variables e indicar el tiempo que quiero para que desde allí comience el conteo hacia cero, este JDialog lo abro desde un JFrame y puedo abrir varias ventanas del mismo con solo seguir oprimiendo el botón que lo extrae desde el Jframe, y cada ventana al compilar es independiente de la otra y le puedo ingresar los valores del tiempo que quiero a cada una y manipularlas independientemente, lo que quiero es que si saco por ejemplo 5 ventanas desde el botón del JFrame y al oprimir inicio todas las 5 ventanas comience la acción del cronometro hacia cero al mismo tiempo al igual que pausa o detener, pero cada una es independiente de la otra, eso es bueno porque necesito que cada una cronometre el tiempo hacia cero desde un numero introducido desde el campo de texto independientemente, pero necesito crear unos botones aparte para que me comience a cronometrar y manejen todas las ventanas al mismo tiempo, se preguntara para que quiero esto, pues lo que quiero hacer es una secuencia de diferentes tiempos y cuando cada una llegue a cero esta me active un evento en específico ya predeterminado y que me falta adicionarle

public class Crono extends javax.swing.JDialog {
public Crono(java.awt.Frame parent, boolean modal, Avatar avatar) {
super(parent, modal);
initComponents();
labelHeader3.setText(avatar.getTitulo());// extraigo el titulo del icono desde donde habro la ventana Jdialog
setLocationRelativeTo(this);

public boolean issuspended = false; //para saber si el hilo está suspendido o pausado
int hora , min , seg , ds ; //unidades de medida
Thread hilo = new Thread() {//declaramos el hilo
@Override
public void run() {
try {
while (true) {//ciclo infinito
if (ds == 0 && seg > 0 ) { //si los decisegundos son iguales a 0
ds = 99; //decisegundo vuelve a empezar en 99
seg--; //y disminuye un segundo
}
if (seg == 0 && min > 0 ) { //si los segundos son iguales a 0
seg = 59;//segundo vuelve a empezar en 59
min --;//y disminuye un minuto


}
if (min == 0 && hora >0) {//si los minutos son iguales a 0
min = 59;//minuto vuelve a empezar en 59
hora--;//y disminuye una hora
}

if (seg >0 || min >0 || hora >0 ){
ds--; }//disminuye las décimas de segundo
if ( hora ==0 && min ==0 && seg ==0 )
{
ds = 0;
}

lblTime.setText(hora + ":" + min + ":" + seg + ":" + ds); //se muestra en el jlabel

hilo.sleep(10); //que duerma una décima de segundo
}
} catch (java.lang.InterruptedException ie) {
System.out.println(ie.getMessage());
}
}
};
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void BotonActionPerformed(java.awt.event.ActionEvent evt) {
// Aqui obtengo mediante campo de texto los valores para las variables
hora = Integer.parseInt(TextHoras.getText());
min = Integer.parseInt(TextMIn.getText());
seg = Integer.parseInt(TextSeg.getText());
}

private void btnPausaActionPerformed(java.awt.event.ActionEvent evt) {
hilo.suspend();//se suspende o pausa el hilo
issuspended = true;//el hilo está suspendido
btnInicio.setEnabled(true);
btnPausa.setEnabled(false);

}

private void btnDetenerActionPerformed(java.awt.event.ActionEve nt evt) {
hilo.suspend(); //se suspende el hilo.. (NO utilizamos hilo.stop() porque si lo usamos, el hilo se "muere")
ds = seg = min = hora = 0;//todas las unidades en cero
lblTime.setText("0:0:0:0");//cronometro en cero
issuspended = true;//el hilo esta suspendido
btnInicio.setEnabled(true);
btnDetener.setEnabled(false);
btnPausa.setEnabled(false);

}

private void btnInicioActionPerformed(java.awt.event.ActionEven t evt) {

btnInicio.setEnabled(false);
btnDetener.setEnabled(true);
btnPausa.setEnabled(true);
if (!issuspended) {//si no está suspendido o pausado
hilo.start();//el hilo empieza

} else {//de lo contrario
hilo.resume();//el hilo se reanuda
issuspended = false;//el hilo ya no está suspendido

}

}

Yo sé que los botones son privados, intente poner unos botones en public y añadirles las mismas acciones que los privados y estos llamarlos desde el Jframe pero nada no hace nada.

cualquier duda se la resulevo por si no se entendio bien,
de antemano muchas gracias por cualquier ayuda

Etiquetas: jdialog, jframe
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.