使用 Scoll_Tab_Layout 设置 JTabbedPane 中可见选项卡的数量?

发布于 2024-12-28 17:47:36 字数 278 浏览 2 评论 0原文

我正在使用 Swing 开发一个 java 应用程序。 我需要在具有大量选项卡的非常广阔的区域中使用 JTabbedPane。 我需要使用的 TabLayoutPolicySCROLL_TAB_LAYOUT

默认行为是选项卡填充 JTabbedPane 窗格的整个长度。

我想限制视图中可见选项卡的数量,以便左右箭头按钮始终可见,并且我可以滚动隐藏的选项卡。

我怎样才能做到这一点?

I'm developing a java application using Swing.
I need to use a JTabbedPane in a very wide area with a huge number of tabs.
The TabLayoutPolicy I need to use is the SCROLL_TAB_LAYOUT.

The default behavior is that the tabs fill the JTabbedPane for the whole length of the pane.

I want to limit the number of visible tabs in the view, so that the left-right arrow buttons are always visible and I can scroll the hidden tabs.

How can I do that?

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

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

发布评论

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

评论(2

看透却不说透 2025-01-04 17:47:36

..大量的选项卡..

这对于用户来说听起来很难使用。作为替代方案,WEST1 中的 JListCardLayout 的不同卡片之间翻转如何?代码>中心1

  1. 这假定最外面的面板正在使用 BorderLayout

..huge number of tabs..

That sounds hard for the user to work with. As an alternative, how about a JList in the WEST1 flipping between different cards of a CardLayout in the CENTER1?

  1. This presumes the outermost panel is using BorderLayout.
⒈起吃苦の倖褔 2025-01-04 17:47:36

据我所知,这是不可能直接实现的,因为API中的大多数方法都是私有的,不能从外部访问。即使设置固定长度的肮脏黑客(“我的选项卡名称    ”)在屏幕上生成可变长度的像素也会失败,因为屏幕上的字符在像素中没有相同的大小。可能的解决方案包括:

1)覆盖 JTabbedPane 用于设置Tab的标题为固定长度

2) 把JTextField#(int) setEditable(false) 到选项卡标题(需要一些自定义 JTabbedPane)

As far I know, it is not possible directly, because most of methods in API are private and not accesible from outside. Even dirty hacks that set fixed length (" My Tabs Name     ") generating variable length of pixels on the screen fail because chars on the screen haven't got same size in the pixels. Possible solutions include:

1) override JTabbedPane for settings Tab's title for fixed length

2) put the JTextField#(int) setEditable(false) to the Tab title (required some of custom JTabbedPane)

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