我在这里是新来的,这是我的第一个问题: 我想提出一个问题和答案(流行测验)计划,我已经通过检查以前的问题的答案经历了很多障碍,但我遇到了一个令人困惑的问题。我试图避免使多个jPanel类(使用NetBeans GUI生成器),并决定使用只有一个Jpanel类(),并且使其成为最终和静态,以保持其选定的状态, 。但我的问题是,每当我按下下一个按钮,它仍然显示相同的页面(仍然选中单选按钮)。我如何制作全新的Jpanel,但仍然与原版相似?我可以在访问前一个的同时添加同一个jPanel的全新实例吗?
这里是我的代码示例:
package pages;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
/**
*
* @author Hendy
*/
public class page1 extends javax.swing.JPanel {
/**
* Creates new form page1
*/
public page1() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
jRadioButton1.setText("first");
jButton1.setText("next");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(176, 176, 176)
.addComponent(jRadioButton1)
.addContainerGap(179, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(30, 30, 30))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(131, 131, 131)
.addComponent(jRadioButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 96, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(27, 27, 27))
);
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
removeAll();
setLayout(new FlowLayout());
setLayout(new BorderLayout());
invalidate();
page1 on = new page1();
add(on,BorderLayout.NORTH);
revalidate();
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private static final javax.swing.JRadioButton jRadioButton1 = new javax.swing.JRadioButton();
// End of variables declaration
}
*“我在jPanel中放置了一个单选按钮,并使它成为最终的和静态的,以保持其选定的状态”*这没有任何意义。保持对现有控制的参考也将保持其状态。它与'final'或'static'无关。 – 2014-09-02 11:22:17
*“(使用NetBeans GUI生成器)”*不可以。好像它在使用你。通过暂时搁置“魔术画盒”并学习如何编写Java来阻止它的发展。 – 2014-09-02 11:24:01
当我使用多个Jpanels时,在它们之间切换会导致单选按钮重置为未选定模式。使其最终和静态停止重置。现在我试图只用一个面板来做同样的事情,所以我可以实现下一个问题和以前的问题功能。请原谅我的java noobiness。 – 2014-09-02 11:36:34