2012-03-31 96 views
3

我一直在研究Java Swing項目,我需要檢索創建面板的對象/實例以調用該實例特有的簡單保存方法。從Java Swing組件檢索對象

你有一個帶有JTabbedPane的JFrame,它具有通過實例化一個構建JPanel的類並將其添加到JTabbedPane中創建的選項卡,我需要從JTabbedPane上的選定JPanel /選項卡中找到特定實例,然後調用它保存方法。

任何想法? 感謝您的時間!

​​
+0

我認爲,爲了獲得最佳的具體幫助,您需要告訴我們更多關於您當前代碼的詳細信息。您是否使用代碼生成軟件來創建GUI,如NetBean的gui創建者? – 2012-03-31 20:34:26

+2

不,我正在親自動手,以更好地瞭解Java和Swing。 – user1305495 2012-03-31 20:45:26

+1

1+對該評論的評論。 – 2012-03-31 20:47:29

回答

1

我想通了,所有我需要做的就是在一個ArrayList DERP店新標籤的對象。感謝你的嘗試,雖然傢伙!

+0

恭喜修復!如果可以,請確保將答案標記爲「已接受」,以便其他人可以從您的成功中學習。乾杯〜 – 2012-04-02 15:40:41

+0

哦,在此之前,我需要說這個問題是由於錯誤地使用類擴展引起的。當你擴展一個類時,它本身就成爲你擴展的對象,這意味着你可以在我的情況下從它運行保存命令。當提到這個類時,請記住'this'關鍵字! – user1305495 2012-04-04 09:46:39

0

您可以在指向創建者實例的新JPanel中添加一個字段。我不認爲有任何這樣的方法可以指向API中的父類。

- 編輯 - 您可能要檢查 http://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html getSelectedIndex()可能是你在找什麼。

+0

我知道這聽起來很愚蠢,但我會怎麼做呢?我從來沒有直接使用過指針,更不用說在典型意義上沒有指針的語言。 >< Ty for the reply though! – user1305495 2012-03-31 20:37:55

+0

@ user1305495:他的意思是簡單地給你的GUI類一個變量,該變量持有對其創建者的引用,就是這樣。 – 2012-03-31 20:43:35

+0

我認爲你有錯誤的想法,我會更新與一些僞代碼的問題,進一步詳細解釋以任何其他方式給我一點頭痛... – user1305495 2012-03-31 20:51:20

0

我的方法是創建/使用一個明確支持保存的接口,而不是僅僅連接回原始創建者。我創建的東西這TUS,我SourceForge項目

http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/filepersist/

退房持久化和Persistable2。當然,任何事情都可能是一個持久化的,但是抽象讓我們從你的關係明確脫身回到創一流

+0

我可能會試試這個,但是我恐怕我不是最熟練的接口>< – user1305495 2012-04-01 11:48:09

+0

現在可能是獲得一些經驗的好時機! – ControlAltDel 2012-04-01 23:09:13