2016-10-11 4 views
1

Je suis nouveau à Java swing. J'ai un problème en invoquant mon Jframe de la classe principale. Ce peut être un doublon mais je ne peux pas savoir pourquoi mon code n'est pas travaillé. Donc, je poste ici.IllegalArgumentException ajoutant une fenêtre à un conteneur.

MainClass

public static void main(String[] args) { 
    // TODO code application logic here 
    SwingUtilities.invokeLater(new Runnable() { 

     @Override 
     public void run() { 
      SendMail sendMail = new SendMail(); 
      JFrame frame = new JFrame();         
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      frame.add(sendMail,BorderLayout.CENTER); 
      frame.pack(); 
      frame.setVisible(true); 
     } 
    }); 

} 

JFrame

public class SendMail extends javax.swing.JFrame { 

/** 
* Creates new form SendMail 
*/ 
public SendMail() { 
    initComponents(); 
} 

/** 
* 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() { 

    jFileChooser1 = new javax.swing.JFileChooser(); 
    jFileChooser2 = new javax.swing.JFileChooser(); 
    jButton2 = new javax.swing.JButton(); 
    jPanel1 = new javax.swing.JPanel(); 
    to = new javax.swing.JTextField(); 
    toLabel = new javax.swing.JLabel(); 
    toCc = new javax.swing.JLabel(); 
    toBcc = new javax.swing.JLabel(); 
    cc = new javax.swing.JTextField(); 
    bcc = new javax.swing.JTextField(); 
    jPanel2 = new javax.swing.JPanel(); 
    jScrollPane1 = new javax.swing.JScrollPane(); 
    jTextArea1 = new javax.swing.JTextArea(); 
    sendButton = new javax.swing.JButton(); 
    fileName = new javax.swing.JTextField(); 
    attach = new javax.swing.JButton(); 

    jButton2.setText("jButton2"); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

    to.setText("TO"); 
    to.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      toActionPerformed(evt); 
     } 
    }); 

    toLabel.setText("TO "); 

    toCc.setText("CC"); 

    toBcc.setText("BCC"); 

    cc.setText("CC"); 
    cc.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      ccActionPerformed(evt); 
     } 
    }); 

    bcc.setText("BCC"); 

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
    jPanel1.setLayout(jPanel1Layout); 
    jPanel1Layout.setHorizontalGroup(
     jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(jPanel1Layout.createSequentialGroup() 
      .addContainerGap() 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 
       .addComponent(toBcc, javax.swing.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE) 
       .addComponent(toCc, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addComponent(toLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
       .addComponent(to) 
       .addComponent(cc) 
       .addComponent(bcc, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE)) 
      .addContainerGap()) 
    ); 
    jPanel1Layout.setVerticalGroup(
     jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(jPanel1Layout.createSequentialGroup() 
      .addContainerGap() 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(to, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addComponent(toLabel)) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(toCc) 
       .addComponent(cc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(toBcc) 
       .addComponent(bcc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
      .addContainerGap(20, Short.MAX_VALUE)) 
    ); 

    jTextArea1.setColumns(20); 
    jTextArea1.setRows(5); 
    jScrollPane1.setViewportView(jTextArea1); 

    sendButton.setText("Send"); 
    sendButton.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      sendButtonActionPerformed(evt); 
     } 
    }); 

    attach.setText("Attach"); 
    attach.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      attachActionPerformed(evt); 
     } 
    }); 

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); 
    jPanel2.setLayout(jPanel2Layout); 
    jPanel2Layout.setHorizontalGroup(
     jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(jPanel2Layout.createSequentialGroup() 
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 244, javax.swing.GroupLayout.PREFERRED_SIZE) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addComponent(sendButton, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE) 
       .addGroup(jPanel2Layout.createSequentialGroup() 
        .addComponent(fileName) 
        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
        .addComponent(attach, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))) 
    ); 
    jPanel2Layout.setVerticalGroup(
     jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 197, Short.MAX_VALUE) 
     .addGroup(jPanel2Layout.createSequentialGroup() 
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(fileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addComponent(attach)) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
      .addComponent(sendButton)) 
    ); 

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
    getContentPane().setLayout(layout); 
    layout.setHorizontalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
     .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
    ); 
    layout.setVerticalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(layout.createSequentialGroup() 
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
      .addContainerGap()) 
    ); 

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

S'il vous plaît aidez-moi à résoudre ce problème. Merci d'avance.

+0

* "Il peut s'agir d'un doublon mais je n'arrive pas à trouver pourquoi mon code n'a pas fonctionné." * Lien vers 3 des doublons que vous avez trouvés. .. Vous avez * regardé *, n'est-ce pas? –

Répondre

4

Commutateur

public class SendMail extends javax.swing.JFrame 

à

public class SendMail extends javax.swing.JPanel 

Vous ne pouvez pas ajouter un JFrame à l'autre.

+0

Et si vous le voulez comme une nouvelle fenêtre, étendez plutôt JDialog – asdf