2015-11-28 83 views
0

我試圖創建一個程序,它將從JTextField獲取用戶輸入,並在單擊JButton後將該輸入添加到類CurrentAccount的對象中。到目前爲止,我能夠提出這個代碼;通過GUI向用戶輸入參數添加用戶輸入java

jButton1.addActionListener(new ActionListener() {  
    @Override 
    public void actionPerformed(ActionEvent e) 
    { 


     //Execute when button is pressed 
     String currentValue = jTextField1.getText() ; 
     int val = Integer.parseInt(currentValue); 
     balance = val; 
     theAccount = new CurrentAccount(balance); 
     System.out.println(theAccount.myBalance); 



    } 
}); 

但我在行中收到錯誤theAccount = new CurrentAccount(balance)。此外,我已經在方法外部實例化了Account,因爲我將需要它作爲類SavingsAccount的對象,因爲它是從中繼承的抽象類Account。

如果有幫助,我的CurrentAccount的代碼如下;

public class CurrentAccount extends Account 
{ 
    private int myBalance; 
    private final ControlPanel myPane; 


    private int balance; 

    public CurrentAccount(ControlPanel myPane) 
    { 
     // balance= myBalance; 
     myBalance = myPane.getDimension(); 
     this.myPane=myPane; 
//  //super(balance); 
     //if (100 >= myPane) throw new IllegalArgumentException 
     //("A Savings Account can not have a balance of less than £100, you entered" + balance); 
    } 

任何幫助,這將非常感激。

+0

「我收到錯誤」什麼錯誤? – resueman

+0

對不起,應該提到。在我提到的我即將收到的錯誤「incompatable類型:int不能轉換爲ControlPanel」錯誤 – brushbrushbrush

+0

對此問題已經有一個開放的問題,你忽略了一個問題,其評論。請不要重新提出問題,請不要忽視評論。此問題已被關閉。 –

回答

1

你有這個問題和這個代碼有幾個問題。首先你的編譯錯誤消息指出:

「不兼容類型:INT不能轉換爲ControlPanel控制」

此錯誤消息被埋葬在評論也不是你的主要問題的一部分,使很多人很難看到。請避免將來再做這件事,而應將其作爲您問題的重要部分。

錯誤消息告訴你什麼是錯的 - 你想創建一個新的CurrentAccount對象,但都傳遞一個int到它的構造:

theAccount = new CurrentAccount(balance); 

但是構造已被定義爲不接受一個int,而是接受ControlPanel控制對象:

public CurrentAccount(ControlPanel myPane) { 

通常我會說,你要麼需要改變構造帶一個int,或者改變你怎麼稱呼它,所以你只傳遞一個ControlPanel參數 - 無論哪一個最有意義。但我不認爲要麼在這裏是適當的。我猜測(我們不能肯定地說,因爲我們對整體程序結構的瞭解不夠),CurrentAccount實例已經存在,而不是從頭開始創建一個新實例,您將要想要將餘額信息傳遞到此實例中,如果存在方法可能使用setBalance(int balance)方法。

要獲得更好和更詳細的答案,請告訴我們更多關於您的程序結構和問題的信息。

+0

感謝man和對於轉發的抱歉。在CurrentAccount類中的代碼需要一個整數,但這意味着我只返回0。我試圖創建一個setBalance方法,但我不確定在構造函數中使用ControlPanel的上下文中的方法結構。同樣在我的MyFrame類中,我將控制面板添加到JFrame中,我設法讓它獲取用戶輸入並將其添加到CurrentAccount實例中,這是我希望的方式,但這隻能通過JMenu和JMenu項目用戶不太友好。 – brushbrushbrush