簡體   English   中英

如何在匿名內部actionListener類和actionPerformed方法中訪問局部變量?

[英]How to access local variables in anonymous inner actionListener class and actionPerformed method?

我正在為CS類開發項目,因此我無法發布任何代碼,但是我會盡力描述我的設置。 該程序應該具有3個獨立的JPanels,每個JPanels都有一個圖像和旋轉和重置圖像的按鈕。 提供了一個Driver類,用於設置JFrame,創建單個Project對象以傳遞給其他類(此Project類包含旋轉和組合圖像的方法),並具有main方法。

我所做的是創建一個類,該類擴展了JPanel以使用圖像,文件名和旋轉/重置按鈕設置JPanel。 我有這個類的構造函數,它使用了面板的編號(以跟上在面板中寫入圖像的編號),要顯示的圖像文件以及在Driver類中創建的Project對象(以便能夠訪問用於處理圖像的方法)。 我立即調用super(); 然后將文件名和圖像設置為(JLabel),將按鈕設置為(JButtons)。

這是我的問題所在。 我試圖設置“旋轉”按鈕,所以創建了一個匿名的內部類動作偵聽器和actionPerformed方法。 我計划要做的是使用Project對象引用對圖像對象調用rotate方法,讓它將BufferedImage返回到modifiedImage BufferedImage中。 然后刪除帶有原始圖像的JLabel,將ModifyedImage添加為JLabel,重新驗證並重新繪制。 但是,我不能在內部actionPerformed類中使用此引用或對Project對象的引用。

我如何獲得在執行動作的內部類中對這些引用的訪問? 還是我的設置完全糟糕? 請多多包涵-這是我第一次使用任何類型的GUI。

使您對Project對象final引用。 這將解決問題,並且不會造成任何傷害,因為您將不會再次分配它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM