簡體   English   中英

如何在JTabbedPane中創建JScrollPane?

[英]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)函數:該函數將從該組件的舊父組件中刪除該組件,並將其添加到新父組件中。

然而:

  1. 您需要將JScrollPane添加到JTabbedPane實例。
  2. 您希望滾動的組件使用setViewportView(component)函數將其設置為JScrollPane的視圖。 根據您的情況,它是upgradeScreen

暫無
暫無

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

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