我有三個選項卡,第一個選項卡包含一個組件,第二個另一個組件,第三個選項卡包含第一個和第二個選項卡中的兩個組件。 在我的第三個選項卡上,兩個組件都不顯示。我必須對第一個和第二個組件進行克隆,才能在第三個標籤上使用它?如果我的組件的某些屬性更改會怎麼樣?帶有幾次同一面板的選項卡式窗格
0
A
回答
1
正如其他人所述,Swing JComponent
不能添加到多個其他JComponent
(其父母)。
如果您關注的是共享組件的內容,那麼你通常有一個容易的選擇:因爲Swing組件是基於MVC ,他們都有一個型號,你可以幾個JComponent
S之間共享。如果要同步其他屬性(
JTextField field1 = new JTextField();
JTextField field2 = new JTextField();
field2.setDocument(field1.getDocument());
現在:
例如,JTextComponent
(JTextField
和JTextArea
是JTextComponent
S)擁有Document
它的模型,這Document
可以共享,如下面的代碼片段例如,列數爲JTextField
),則必須按照其他人的建議使用PropertyChangeListener
。
0
是的,任何擺動組件只能添加到一個容器中。
0
在每個選項卡上,您應該有單獨的組件,使用偵聽器可以操縱這些組件的屬性。
爲了解決問題,這樣你應該熟悉MVC設計模式,
1
Swing組件只能有一個家長在同一時間。所以如果你試圖將一個組件的一個實例添加到多個容器中,這是行不通的。
因此,您必須爲每個要添加到的容器創建組件的實例。
1
多個選項卡不能有相同的組件。有一個在太陽數據庫這樣的錯誤:
Bug: 4176095 - Clarification that no 2 Tabs in JTabbedPane can have same component
有一個建議修復尚未納入雖然。
1
如果你想實現這一點。您可以執行以下步驟 - 添加選項卡列表 - 每當選中選項卡時,您可以添加需要顯示在選定選項卡面板中的組件並顯示它。 (即無論何時Tabpanel正在顯示,我們將重置組件的父級詳細信息)
相關問題
- 1. 更改選項卡式窗格中當前面板的標籤
- 2. 將柵格面板添加到選項卡面板的第一個選項卡
- 3. 選項卡式窗格中的表格
- 4. 調整選項卡式窗格中的選項卡的大小
- 5. 安卓選項卡窗格內的選項卡窗格?
- 6. Sencha Touch 2 - 選項卡式面板中的傳送帶
- 7. ExtJS 4:關閉選項卡面板中的所有選項卡
- 8. 如何將選項卡置於Spry選項卡式面板中?
- 9. 如何在Spry選項卡式面板中禁用選項卡
- 10. 帶有超過3個選項卡的選項卡式活動
- 11. 使用現有面板選項卡動態添加新面板選項卡
- 12. JAVA Swing - 從另一個卡面板卡面板上的選項卡式面板setSelectedIndex()
- 13. 找不到選項卡式面板struts2
- 14. wxpython打印到選項卡式面板
- 15. 選項卡式面板和hashchange插件
- 16. 在選項卡式面板中選擇一個選項卡首次單擊按鈕
- 17. 窗體窗體選項卡式頁面:從命令行在不同選項卡上啓動窗體
- 18. 在選項卡窗格
- 19. gui選項卡式窗格 - 如何將內部類放入我的選項卡式窗格
- 20. JavaFX選項卡式窗格在每個選項卡上都有一個表格視圖?
- 21. JavaFx:選項卡上的事件篩選器(選項卡窗格)
- 22. Xamarin表格選項卡式頁面
- 23. 取決於選項卡項目模板的不同選項卡樣式?
- 24. 在導航選項卡和選項卡窗格在同一個div有沒有什麼好處?
- 25. 選項卡式面板的每個選項卡的自動調整寬度
- 26. 如何在一個選項卡面板中的一個選項卡指向另一個選項卡?
- 27. 帶有幾個選項卡的表單驗證
- 28. 與選項卡式窗格一起使用JDialog繪製不同的圖片
- 29. EXTJS選項卡面板使選項卡伸展以填充面板
- 30. 帶有AJAX的jQuery UI選項卡 - 每次切換選項卡時強制重新加載選項卡內容
完美適合我,簡單快捷。 – Sheepy 2012-03-19 15:32:51