将 JTabbedPane 居中,但不将实际选项卡居中

发布于 2024-09-10 11:44:49 字数 195 浏览 2 评论 0原文

我将如何根据该行选项卡中剩余的空间自动调整选项卡的长度大小。

图片:

alt text

如您所见,选项卡的宽度基于选项卡中的文本。

如果您需要我更好地解释我想要什么,那么就问我,因为我不知道我是否说得足够清楚。

How would I go about making the length of the tabs automatically resize based on how much room is left in that row of tabs.

Picture:

alt text

As you can see the tab's width is based off the text in the tab.

If you need me to explain what I want better then just ask me because I don't know if I made it clear enough.

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

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

发布评论

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

评论(1

节枝 2024-09-17 11:44:49

您可以使用自定义组件并设置其首选大小。例如,在 TabComponentsDemo

label.setPreferredSize(new Dimension(...));

您必须根据布局的其他方面选择合适的尺寸,因此它不会是自动的。

我想定义实际选项卡式平移的尺寸。

JTabbedPane 的大小是它所添加到的 Container 的尺寸和 LayoutManager 的函数。在引用的示例中,框架内容窗格的默认布局是 BorderLayout,并且 add(pane) 默认将其添加到中心。

为了实现您的目标,我看到两种方法:

  1. 在现有选项卡中划分封闭Container的当前宽度并重新绘制选项卡式窗格,如示例

  2. 开发您自己的 TabbedPaneUI 并相应地解释 SCROLL_TAB_LAYOUT

You can use a custom component and set it's preferred size. For example, in ButtonTabComponent of TabComponentsDemo:

label.setPreferredSize(new Dimension(...));

You have to choose an appropriate dimension based on other aspects of your layout, so it won't be automatic.

I want to define a size for the actual tabbed pan.

The size of the JTabbedPane is a function of the dimensions and LayoutManager of the Container to which it has been added. In the example cited, the default layout of the frame's content pane is BorderLayout, and add(pane) adds it to the center by default.

To accomplish your goal, I see two approaches:

  1. Divide the current width of the enclosing Container among the existing tabs and repaint the tabbed pane, as shown in this example.

  2. Develop your own implementation of TabbedPaneUI and interpret SCROLL_TAB_LAYOUT accordingly.

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