[英]How to access JFrame components from a JPanel class?
我正在做一個GUI分配,遇到一個我無法弄清楚的問題。 我有一個帶有多個JPanel的JFrame,其中一個JPanels包含一個帶有多個JPanels的CardLayout。 由於我們在該項目上工作的人更多,因此我們決定為將要在CardLayout中使用的每個面板制作一個單獨的類(擴展了JPanel)。
問題是從JPanel類訪問JFrame的組件。
舉個例子,我在JFrame的某個地方有一個JLabel用作狀態欄,並且我想在按下SaleMain面板上的按鈕時更改狀態欄的文本(該類擴展了JPanel,包含在CardLayout)。
另一個示例,在另一個面板EditCustomer(也是CardPad中的JPanel類)內,我想有一個帶有動作監聽器的按鈕,它將當前面板(包含按鈕的面板)更改為與面板不同的面板。 CardLayout。
希望我說得盡可能清楚,謝謝大家對我的幫助:)
模型/視圖/控制器模式 (MVC)對於創建GUI很有用。 通過將模型從視圖中分離出來,您可以一次專注於GUI的一部分。
您為GUI創建一個模型,其中包含要在GUI上顯示的信息。
我在JFrame的某個位置有一個JLabel,它用作狀態欄,並且我想在SaleMain面板上按下按鈕時更改狀態欄的文本
將文本放入模型中,並在按鈕的動作偵聽器中,將文本放入狀態欄中。
我想要一個帶有動作偵聽器的按鈕,它將當前面板(包含該按鈕的面板)更改為CardLayout以外的面板。
然后這樣做。 動作偵聽器是可以更改視圖的控制器。
看一下我的文章Dice Game ,看看Java Swing應用程序如何實現MVC模式和JPanel切換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.