import javax.swing.JFrame;
public class Choose extends javax.swing.JFrame {
/**
* Creates new form NewJFrame
*/
public Choose() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
LoginButton = new javax.swing.JButton();
Create = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Family Entertainment Center");
LoginButton.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
LoginButton.setText("Login");
LoginButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
LoginButtonActionPerformed(evt);
}
});
Create.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
Create.setText("Create Account");
Create.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CreateActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(34, 34, 34)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(Create, javax.swing.GroupLayout.PREFERRED_SIZE, 327, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(LoginButton, javax.swing.GroupLayout.PREFERRED_SIZE, 327, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(39, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(68, Short.MAX_VALUE)
.addComponent(Create, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(49, 49, 49)
.addComponent(LoginButton, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(79, 79, 79))
);
pack();
}// </editor-fold>
public static void CreateActionPerformed(java.awt.event.ActionEvent evt) {
JFrame frame = new CreateLogin();
frame.setVisible(true);
}
public static void LoginButtonActionPerformed(java.awt.event.ActionEvent evt) {
JFrame frame = new LoginFrame();
frame.setVisible(true);
}
Dans l'écouteur d'événement d'action ci-dessus, je veux cacher JFrame alors qu'il crée les autres JFrames. J'ai essayé d'instancier et de cacher le jframe mais cela crée une nouvelle instance. J'ai également essayé le "this.setVisible (faux)" qui ne fonctionne pas non plus.Java cacher JFrame qui est prolongée par une classe avec le clic d'un bouton
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Metal look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Metal".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Choose.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Choose.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Choose.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Choose.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Choose().setVisible(true);
}
});
}
// Variables declaration - do not modify
public static javax.swing.JButton LoginButton;
public static javax.swing.JButton Create;
// End of variables declaration
}
1) Voir [L'utilisation de JFrames multiples, bonnes/mauvaises pratiques?] (Http://stackoverflow.com/q/9554636/418556) 2) Voir [Détection/correction pour le support de fermeture suspendue d'un bloc de code ] (http://meta.stackexchange.com/q/251795/155831) pour un problème que je ne pouvais plus être dérangé de réparer. 3) Apprendre la nomenclature Java courante (conventions de nommage - par exemple 'EachWordUpperCaseClass',' firstWordLowerCaseMethod() ',' firstWordLowerCaseAttribute' sauf s'il s'agit d'un 'UPPER_CASE_CONSTANT') et l'utiliser de façon cohérente. –