我正在爲我的課程之一開發一個LAB,並且需要一些幫助。帶有內部類的Java GUI動作監聽器
我正在建設一個公寓大樓GUI,它將有一個菜單系統和許多不同類別之間的單獨功能。由租戶,員工和銀行組成的綜合體。
我目前有整個項目基於控制檯的工作,但現在我被分配將其轉換爲GUI界面。
這是GUI在我的主函數的代碼:
ApartmentComplex mavPlace = new ApartmentComplex(); //creates a new apartment complex object
mavPlace.aptBank.setBalance(ANNUAL_BUDGET); //sets the apartment bank budget
readFile(mavPlace);
mavPlace.goThroughAndAssignValues(mavPlace);
JFrame frame = new JFrame("My First GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
JButton button = new JButton("Press");
frame.getContentPane().add(button); // Adds Button to content pane of frame
frame.setVisible(true);
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
mavPlace.lease(mavPlace);
}
});
隨着動作偵聽器,當按下按鈕時就應該調用一個函數租賃在另一個類礦井。從那裏我想它回到控制檯輸出。 netbeans給我的錯誤是:局部變量mavPlace從內部類訪問;需要被宣佈爲最終 ....現在我去了一個制定的decleration最後只是爲了看看發生了什麼,它的工作,但我無法編輯我的複雜細節,所以這是不可能的。
我該怎麼辦?
謝謝!
'最終ApartmentComplex temp = mavPlace;',並使用'temp'代替動作偵聽器中的'mavPlace' – iluxa 2013-05-01 08:58:21