在 Java Swing 中合并两个选项卡

发布于 2024-10-04 16:38:46 字数 426 浏览 6 评论 0原文

感谢您的观看。我是 Java swing 的初学者。我正在尝试合并应用程序中的两个选项卡。选项卡是这样创建的:

  pane=new JTabbedPane(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT);
  pane.add(panel1);
  pane.add(panel2);

我希望将 panel1panel2 的内容合并在一起,panel2 显示在 panel2 下面>面板1。我知道这似乎是一个非常简单的问题,但我仍在学习。谢谢你们。

编辑: panel1panel2 都是 JScrollPane

Thank you for viewing. I'm a beginner with Java swing. I'm trying to merge two tabs in an application. The tabs are created in this way:

  pane=new JTabbedPane(JTabbedPane.TOP, JTabbedPane.WRAP_TAB_LAYOUT);
  pane.add(panel1);
  pane.add(panel2);

I'd like to have the contents of panel1 and panel2 merged together, with panel2 displayed underneath panel1. I know this may seem like a very simple question, but I am still learning. Thanks guys.

Edit: panel1 and panel2 are both JScrollPane

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沉睡月亮 2024-10-11 16:38:46

创建第三个 JPanel,使用任何可行的布局(可以想到 BorderLayout 或 BoxLayout),并将两个 JPanel 添加到第三个 JPanel 中。然后将第三个添加到选项卡式窗格中。

编辑:这有点令人困惑:“编辑:panel1和panel2都是JScrollPane”所以这些实际上是JScrollPanes,而不是JPanel?无论如何,我上面的建议仍然有效。 :)

最重要的是:在 Oracle Swing 教程中学习如何使用布局管理器和 JPanel 等组件:布局管理器教程

JPanel containerPanel = new JPanel();
containerPanel.setLayout(new BoxLayout(containerPanel, BoxLayout.PAGE_AXIS));
containerPanel.add(panel1);
containerPanel.add(panel2);
pane.add(containerPanel);

Create a third JPanel that uses whatever layout would work (BorderLayout or BoxLayout come to mind), and add your two JPanels to the third one. Then add the third one to the tabbed pane.

edit: this is a little confusing: "Edit: panel1 and panel2 are both JScrollPane" So these are in fact JScrollPanes, not JPanels? Regardless, my suggestion above still works. :)

Most important though: study how to use layout managers and components such as JPanels etc on the Oracle Swing Tutorials: Layout Manager Tutorial

JPanel containerPanel = new JPanel();
containerPanel.setLayout(new BoxLayout(containerPanel, BoxLayout.PAGE_AXIS));
containerPanel.add(panel1);
containerPanel.add(panel2);
pane.add(containerPanel);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文