繁体   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