![](/img/trans.png)
[英]How do I create an object in a JTabbedPane that accesses a class outside of the JTabbedPane?
[英]How do I create a JScrollPane within a JTabbedPane?
我正在嘗試在我的JTabbedPane的選項卡之一中創建JScrollPane。 我盡我所能嘗試的是這樣的:
pane.add("Main", mainGame);// These are my other tabs
pane.add("Upgrades", upgradeScreen); //the JTabbedPane
pane.add("Credits", creditsTab);
upgradeScreen.setLayout(null); //The null layout
lblMoney2.setBounds(10, 11, 277, 22);
upgradeScreen.add(lblMoney2); // A simple JLabel
scrollPane.add(upgradeScreen); //my JScrollPane
窗格是我的JTabbedPane,而scrollPane是我的JScrollPane。 這完全擺脫了我的upgradesScreen標簽。 我有點期待,但我不知道該怎么辦。 如果需要更多代碼來解決,請告訴我,我會把它放入,否則,謝謝您的幫助!
不要使用JScrollPane#add
,而是要使用JScrollPane#setViewportView
查看如何使用ScrollPane的更多詳細信息。
建議-不要使用null
布局,它們會限制您的應用程序在多個平台上運行的能力。 而是花時間學習布局經理的工作方式
這完全擺脫了我的upgradesScreen標簽。”
是的,因為沒有組件可以一次擁有兩個父級。 您首先將upgradeScreen
添加到JTabbedPane
,然后再次將其添加到JScrollPane
。 組件的add(component)函數最終將調用addImpl(component)
函數:該函數將從該組件的舊父組件中刪除該組件,並將其添加到新父組件中。
然而:
JScrollPane
添加到JTabbedPane
實例。 setViewportView(component)
函數將其設置為JScrollPane
的視圖。 根據您的情況,它是upgradeScreen
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.