netbeans中的JLayeredPane

我试图在Jlayeredpane中放置两个组件Jeditorpane和Jtextarea。我正在使用Netbeans。我在jlayeredpane和两个按钮中添加了jeditorpane和jtextarea。当我点击button1然后它应该显示消息“Hello world doing nice”。
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jTextArea1.setText("");
    jTextArea1.setOpaque(true);
    jLayeredPane1.moveToFront(jEditorPane1);
    jEditorPane1.setText("Hello world doing nice");
}
当点击button2然后它应该显示消息“Hello world not good good”。
 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jEditorPane1.setText("");
    jEditorPane1.setOpaque(true);
    jLayeredPane1.moveToFront(jTextArea1);
    jTextArea1.setText("Hello world not doing good");
}
但是当我点击button1然后它显示消息“Hello world doing nice”但是当我点击button2然后它没有显示消息“Hello world not good”,因为它应该将组件移到前面。有人可以告诉我如何解决这个问题。这是源代码,它部分由netbeans生成,部分由我编写。 谢谢。
public class test extends javax.swing.JFrame {

/** Creates new form test */
public test() {
    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() {

    jLayeredPane1 = new javax.swing.JLayeredPane();
    jScrollPane1 = new javax.swing.JScrollPane();
    jEditorPane1 = new javax.swing.JEditorPane();
    jScrollPane2 = new javax.swing.JScrollPane();
    jTextArea1 = new javax.swing.JTextArea();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jLayeredPane1.add(jTextArea1);// i added this code using custom code property
    jLayeredPane1.add(jEditorPane1); //i added this code using custom code property 

    jEditorPane1.setText("");//i added this code using custom code property
    jScrollPane1.setViewportView(jEditorPane1);

    jScrollPane1.setBounds(0, 0, 480, 200);
    jLayeredPane1.add(jScrollPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);

    jTextArea1.setColumns(20);
    jTextArea1.setRows(5);
    jTextArea1.setText("");//i added this code using custom code property of netbeans
    jScrollPane2.setViewportView(jTextArea1);

    jScrollPane2.setBounds(0, 0, 480, 200);
    jLayeredPane1.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);

    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    jButton2.setText("jButton2");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton2ActionPerformed(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()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 505, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jButton1)
                    .addGap(143, 143, 143)
                    .addComponent(jButton2)))
            .addContainerGap(68, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(42, 42, 42)
            .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(33, 33, 33)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButton1)
                .addComponent(jButton2))
            .addContainerGap(43, Short.MAX_VALUE))
    );

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

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jTextArea1.setText("");
    jTextArea1.setOpaque(true);
    jLayeredPane1.moveToFront(jEditorPane1);
    jEditorPane1.setText("Hello world doing nice");
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jEditorPane1.setText("");
    jEditorPane1.setOpaque(true);
    jLayeredPane1.moveToFront(jTextArea1);
    jTextArea1.setText("Hello world not doing good");
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new test().setVisible(true);
        }
    });
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JEditorPane jEditorPane1;
private javax.swing.JLayeredPane jLayeredPane1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration
  }
    
已邀请:
您可能应该使用CardLayout。     

要回复问题请先登录注册