Foro sobre Java SE > Retardo para aparición de un botón en netbeans
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
}
Muchas gracias choces, es justo lo que necesitaba.
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.