Java Assignment Bank帐户

时间:2012-10-22 14:20:05

标签: java swing

主要课程

    public class NewJFrame extends javax.swing.JFrame {

    int ptr;
    int ctr;
    BankAccount b[] = new BankAccount[10];

    public NewJFrame() {
        initComponents();
        ptr = 0;
        ctr = 0;
        ptr = ctr;
    }

private void AddActionPerformed(java.awt.event.ActionEvent evt) {                                    
    b[ctr] = new BankAccount();

    jTextField1.setText(Integer.toString(b[ctr].getAccountno()));
    jTextField2.setText("");
    jTextField3.setText("");
    jTextField4.setText("");
    jTextField5.setText("");
    ctr++;

} 
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {                                     


    b[ctr].setName(jTextField2.getText());
    b[ctr].setAddress(jTextField3.getText());
    b[ctr].setSex(jTextField4.getText());

            jTextField2.setText(b[ptr].getName());
    ctr++;
}
private void previousActionPerformed(java.awt.event.ActionEvent evt) {                                         
    ptr--;
    disp();
}     
private void nextActionPerformed(java.awt.event.ActionEvent evt) {                                     
    ptr++;
    disp();
} 
    private void disp() {
        jTextField1.setText(Integer.toString(b[ptr].getAccountno()));
        jTextField2.setText(b[ptr].getName());
        jTextField3.setText(b[ptr].getAddress());
        jTextField4.setText(b[ptr].getSex());
    }
 public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

银行帐户类

public class BankAccount extends Person {

private static int accountno;
private double balance;

public BankAccount(){
     balance = 0;
     accountno++;
}
public BankAccount(String temp){
     super(temp);
     balance = 0;
     accountno++;
}
public static int getAccountno(){
     return accountno;
}

public double getBalance(){
    return balance;
}
public void setBalance(double temp){
    balance = temp;
}

public void deposit(double temp){
      balance = balance + temp;
}

public void withdraw(double temp){
    if(temp>this.getBalance()){
        balance = 0;
    } else {
        balance = balance - temp;
}
}
}

和人类

public class Person {

private String name;
private String address;

private String sex;
private static int personcount;

public Person(){
    personcount++;
}
public Person(String temp) {
    this.setName(temp);
    personcount++;
}
public String getName() {
    return name;
}

public void setName(String temp){
    name = temp;
}    
public String getAddress() {
    return address;
}
public void setAddress(String temp){
    address = temp;
}

public String getSex() {
    return sex;
}

public void setSex(String temp){
    sex = temp;
}

public static int getPersonCount(){
    return personcount;     
   }  

 }

**现在我无法弄清楚如何将文本从文本字段保存到各自的类中。以及如何使用上一个和下一个按钮,它应该根据AccountNo显示上一个/下一个文本。我猜在主课上犯了很多错误,但现在我真的很困惑。

我希望自己清楚,甚至关闭   **

1 个答案:

答案 0 :(得分:1)

SaveActionPerformed方法中的代码行已将文本字段中的文本保存到各自的类中。

b[ctr].setName(jTextField2.getText());
...

previousActionPerformednextActionPerformed方法看起来也正确实现。

此代码的问题在于您不会在任何地方声明或初始化jTextField1jTextField2等变量。看起来您可能已从教科书或作业中复制了此代码。看看是否有更多的代码声明了这些JTextField变量,并且还寻找initComponents()方法声明(或者可能是您自己完成这些步骤的分配)。这些应该在你的主要课程中。