如何在 Java 中创建垂直选项卡?

Posted

技术标签:

【中文标题】如何在 Java 中创建垂直选项卡?【英文标题】:How to create vertical tabs in Java? 【发布时间】:2011-09-17 10:15:04 【问题描述】:

我想获得类似 JTabbedPane 逆时针旋转 90 度的效果(仅选项卡,而不是选项卡内的内容)。在 Java 中实现它的最佳方法是什么?

【问题讨论】:

【参考方案1】:

在这个解决方案中:

http://oreilly.com/pub/a/mac/2002/03/22/vertical_text.html

文本被垂直绘制并尝试作为选项卡上的图标。这样您就不必修改 JTabbedPane,您只需在选项卡中使用自定义图标即可。

当然,您还必须指定标签放置在左侧。

【讨论】:

还有一些例子java2s.com/Code/Java/Swing-JFC/TabbedPane.htm + 1 @mKorbel:我没有在那里找到垂直标签示例。 @bancer 真的是时候将您的需求转换为您在此处显示的代码了,也许是关于小技巧,您可以编辑您的原始问题,然后我们会查看它 jzd提供的链接不错。那里提供的解决方案和实现并不理想,但很好并且可以接受。 链接已失效,可以查看存档版本:web.archive.org/web/20160727035553/http://archive.oreilly.com/…【参考方案2】:

您可以在构造函数中指定放置:

http://download.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html#JTabbedPane%28int%29

或在设置器中:

http://download.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html#setTabPlacement%28int%29

【讨论】:

【参考方案3】:

作为替代方案,请考虑在BorderLayoutEASTWEST 中将JToolBarorientation 设置为VERTICAL。在按钮的Icon 中rotate text 相当简单。

【讨论】:

【参考方案4】:

你可以试试setTabPlacement(SwingConstants.LEFT)或this component

【讨论】:

我看不出该链接有什么帮助。另外,标签放置不会创建垂直文本。 据我了解,作者需要垂直制表符但需要水平文本,我从这个@(仅制表符而不是制表符内的内容)决定它@【参考方案5】:

你可以尝试扩展tabpane类,在重载的paint方法中,获取图形对象,说g2d是重载的paint方法的参数:

super(g2d.rotate(Pi/2));

作为首发

【讨论】:

以上是关于如何在 Java 中创建垂直选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何在片段中创建选项卡的示例?

如何在 html 中创建带有 4 个选项卡的菜单,该菜单将在一页上显示内容?

如何在 Flutter 中创建像这样的自定义可滑动标签栏?

在 React native 中创建自定义底部选项卡导航器

如何在 iPhone 应用程序中创建日历?

如何在 Android 中创建类似于“选项卡布局”的圆形数组?