java swing选项卡窗格位置选项卡标题从右下到左

java swing选项卡窗格位置选项卡标题从右下到左,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我想知道是否有可能在右下角放置一个选项卡式窗格, 我想让容器彼此重叠,一个是从右上到左(没有问题/默认),另一个是从右到左(到目前为止还不错)从底部。 我想象的设计是: | tab display | | tab display | | tab display | ---------------------

我想知道是否有可能在右下角放置一个选项卡式窗格, 我想让容器彼此重叠,一个是从右上到左(没有问题/默认),另一个是从右到左(到目前为止还不错)从底部。 我想象的设计是:

| tab display                                 |
| tab display                                 |
| tab display                                 |
-----------------------------------------------
_________________________  | tab top | another|
| Bottom Tab| Second Tab|______________________
|                                              |
嗯,我的ascy绘图能力有限,但我希望你了解情况。 有没有办法,我可以在一个选项卡式窗格中添加一个布局管理器来布局tablabel?我在哪里可以找到这样的例子?古德林建议在选项卡式窗格中使用菜单栏和卡片布局。但是,我不知道如何绘制菜单栏,使其看起来像制表符。(我刚刚查看了swingtrail的自定义绘图,但它只是继续讨论一般的可能性,此外,如果我这样做,我会失去样式功能。我现在唯一能想到的是使用一个没有内容的选项卡式窗格,并通过eventlisteners使其控制另一个具有卡片布局的容器

有什么建议吗

注意:我必须用Java1.6实现这个解决方案,并使用setTabPlacement(JTabbedPane.TOP)方法进行检查 可用的有顶部、左侧、底部和右侧


在这种情况下,您可以为JTabbedPane设置组件方向

import java.awt.ComponentOrientation;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;

public class TestTabbedPane extends JFrame {

    private static final long serialVersionUID = 1L;
    private JTabbedPane tabbedPane;

    public TestTabbedPane() {
        tabbedPane = new JTabbedPane();
        tabbedPane.setPreferredSize(new Dimension(300, 200));
        getContentPane().add(tabbedPane);
        JPanel panel = new JPanel();
        tabbedPane.add(panel, "null");
        JTextField one = new JTextField("one");
        tabbedPane.add(one, "one");
        JTextField two = new JTextField("two");
        //tabbedPane.add(two, "<html> T<br>i<br>t<br>t<br>l<br>e <br> 1 </html>");
        tabbedPane.add(two, "<html> Tittle  1 </html>");
        tabbedPane.setEnabledAt(2, false);
        tabbedPane.setTitleAt(2, "<html><font color="
                + (tabbedPane.isEnabledAt(2) ? "black" : "red") + ">"
                + tabbedPane.getTitleAt(2) + "</font></html>");
        tabbedPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
    }

    public static void main(String args[]) {
        TestTabbedPane frame = new TestTabbedPane();
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}
导入java.awt.ComponentOrientation;
导入java.awt.Dimension;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
导入javax.swing.JTabbedPane;
导入javax.swing.JTextField;
公共类TestTabbedPane扩展了JFrame{
私有静态最终长serialVersionUID=1L;
私有JTabbedPane选项卡窗格;
公共测试选项卡窗格(){
tabbedPane=新的JTabbedPane();
tabbedPane.setPreferredSize(新维度(300200));
getContentPane().add(选项卡窗格);
JPanel面板=新的JPanel();
tabbedPane.add(面板,“null”);
JTextField one=新的JTextField(“one”);
选项卡窗格。添加(一,“一”);
JTextField two=新的JTextField(“two”);
//选项卡窗格。添加(两个,“T
i
T
T
l
e
1”); 选项卡窗格。添加(两个,“标题1”); tabbedPane.setEnabledAt(2,false); 选项卡窗格。设置标题栏(2“ +tabbedPane.getTitleAt(2)+“”; tabbedPane.setComponentOrientation(ComponentOrientation.RIGHT\u TO\u LEFT); tabbedPane.setTabPlacement(JTabbedPane.BOTTOM); } 公共静态void main(字符串参数[]){ TestTabbedPane frame=newtesttabbedpane(); frame.setDefaultCloseOperation(关闭时退出); frame.pack(); frame.setVisible(true); } }
正如我写的“…底部的表格标签(目前为止还不错)…”没有问题,问题是在我将它们放置在集装箱下方后,使它们从右向左或左对齐。我认为这是布局的问题,尝试使用方框或网格对问题进行排序似乎可以解决问题,但为什么垂直
标题1
(或者更确切地说,
title 1
-我更喜欢哪个)?请psssttt,我从另一个线程中回收了示例(如何更改禁用标签标题的颜色)回收?很高兴看到您帮助地球。;)我想称您为java神,但这可能会引起对垃圾神的对立情绪;)。感谢您的回答和示例,为我省去了很多麻烦(想象一下我的解决方案(一个带有cardboxlayout的额外容器,以及其他一些东西…)。还有一个“附加问题”:我可以使右tablabel(null)右边缘与容器的右边缘完全对齐吗?
还有一个“附加问题”:我可以使右tablabel(null)对齐吗右边缘与容器的右边缘完全对齐?
不知道如何正确地解决这个问题,并且在屏幕上有很好的输出,这不是一件容易的工作,因为大多数方法都是私有的,然后无法从API中为
JTabbedPane插入的Swing方法访问