Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Retardo para aparición de un botón en netbeans

Un saludo compañeros,

Requiero que uno de los botones que uso en un jdialog, aparezca 2 segundos después, que el resto de elementos que tengo en dicho jdialog, estoy usando Netbeans y desconozco las opciones que debo modificar para que dicho botón aparezca 2 segundos después, realice lo siguiente, pero, lo único que hace es colocar un retardo a la función a realizar.

private void EsperandoActionPerformed(java.awt.event.ActionEvent evt) {
try
{
Thread.sleep(2000);
}catch(Exception e){}
}

Agradezco cualquier colaboración, mil gracias.

julio 23, 2014 | Unregistered Commenterleo

No hay ninguna propiedad en NetBeans que se deba modificar o añadir para lograr lo que pretendes. Solo se puede conseguir escribiendo tu mismo el código necesario, como en el ejemplo que sigue.

import java.awt.EventQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

/**
<p>
@author Carlos Hoces
*/
public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
jButton2.setVisible(false);
Executors.newScheduledThreadPool(1).schedule(new Runnable() {

@Override
public void run() {
EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
jButton2.setVisible(true);
}
});
}
}, 2, TimeUnit.SECONDS);

}

/** This method is called from within the constructor to
initialize the form.
WARNING: Do NOT modify this code. The content of this method is
always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jButton1.setText("jButton1");

jButton2.setText("jButton2");

jButton3.setText("jButton3");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(155, Short.MAX_VALUE)
.addComponent(jButton3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(266, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3))
.addContainerGap())
);

pack();
}// </editor-fold>

/**
@param args the command line arguments
*/
public static void main(String args[]) {

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new NewJFrame().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
// End of variables declaration
}

julio 24, 2014 | Registered Commenterchoces

Muchas gracias choces, es justo lo que necesitaba.

julio 24, 2014 | Unregistered Commenterleo