Jlayeredpane に Jeditorpane と Jtextarea の 2 つのコンポーネントを配置しようとしています。私はネットビーンズを使用しています。jlayeredpane と 2 つのボタンに 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 doing 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");
}
しかし、ボタン1をクリックすると、「Hello world doing nice」というメッセージが表示されますが、button2をクリックすると、コンポーネントを前面に移動する必要があるため、「Hello world not doing 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
}