如何在 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】:作为替代方案,请考虑在BorderLayout
、EAST
或WEST
中将JToolBar
与orientation
设置为VERTICAL
。在按钮的Icon
中rotate text 相当简单。
【讨论】:
【参考方案4】:你可以试试setTabPlacement(SwingConstants.LEFT)
或this component
【讨论】:
我看不出该链接有什么帮助。另外,标签放置不会创建垂直文本。 据我了解,作者需要垂直制表符但需要水平文本,我从这个@(仅制表符而不是制表符内的内容)决定它@【参考方案5】:你可以尝试扩展tabpane类,在重载的paint方法中,获取图形对象,说g2d
是重载的paint方法的参数:
super(g2d.rotate(Pi/2));
作为首发
【讨论】:
以上是关于如何在 Java 中创建垂直选项卡?的主要内容,如果未能解决你的问题,请参考以下文章