使用Netbeans 7.4。 我有一个GUI,面板上有三个相同的面板和控件,面板的处理相同。 我认为正确的方法是定义一个类并为每个面板创建一个实例。然后,如果我必须更改处理,我在类中更改它,所有实例都将影响更改。
我创建了一个真正的简单版本,它在ActionPerformed中排成一行进行“处理”。我找不到创建实例的方法,以便每个实例都与正确的面板相关联。我假设我应该使用Netbeans文件,新文件,Java,Java类在my.program包中创建一个新的类文件MyProgram。
但在UI中,我将“MyProgram upper new MyProgram()”放在此类的实例中,如何将它们“连接”到正确的面板。
简单版本如下。只有三个面板。每个都有一个左按钮和右按钮,带有一个文本字段,告诉你最后按下了哪个按钮。如何通过调用适当实例中的方法替换ActionPerformed区域中的代码。
提前致谢:
** * * 代码遵循* * * * *
/ * *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择“工具”|模板 *并在编辑器中打开模板。 * /
打包my.myprogram;
/ ** * * @author Pete * / 公共类MyProgramUI扩展了javax.swing.JFrame {
/**
* Creates new form MyProgramUI
*/
public MyProgramUI() {
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.
*/
private void LeftButtonUActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldU.setText("Left Pushed");
}
private void RightButtonUActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldU.setText("Right Pushed");
}
private void LeftButtonMActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldM.setText("Left Pushed");
}
private void RightButtonMActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldM.setText("Right Pushed");
}
private void LeftButtonLActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldL.setText("Left Pushed");
}
private void RightButtonLActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextFieldL.setText("Right Pushed");
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MyProgramUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JRadioButton LeftButtonL;
private javax.swing.JRadioButton LeftButtonM;
private javax.swing.JRadioButton LeftButtonU;
private javax.swing.JPanel Lower;
private javax.swing.JPanel Middle;
private javax.swing.JRadioButton RightButtonL;
private javax.swing.JRadioButton RightButtonM;
private javax.swing.JRadioButton RightButtonU;
private javax.swing.JPanel Upper;
private javax.swing.ButtonGroup buttonGroupL;
private javax.swing.ButtonGroup buttonGroupM;
private javax.swing.ButtonGroup buttonGroupU;
private javax.swing.JTextField jTextFieldL;
private javax.swing.JTextField jTextFieldM;
private javax.swing.JTextField jTextFieldU;
// End of variables declaration
}