![](/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.