在GUI中使用类的实例

时间:2014-02-13 22:00:06

标签: class user-interface

使用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                   

}

0 个答案:

没有答案