簡體   English   中英

Java swing TabbedPane位置Tabheaders從右下到左下

[英]java swing TabbedPane position tabheaders bottom right to left

我想知道是否有可能將“選項卡式”窗格放在右下角,我想使容器彼此上方,一個帶有tablabels到右上角的容器(沒有問題/默認),另一個帶有底部的tablabel(到目前為止非常好)從右到左開始。 我想象的設計是:

| tab display                                 |
| tab display                                 |
| tab display                                 |
-----------------------------------------------
_________________________  | tab top | another|
| Bottom Tab| Second Tab|______________________
|                                              |

好吧,我的ascy繪圖功能有限,但希望您能理解。 有什么辦法可以將布局管理器添加到選項卡式窗格以布局tablabel? 在哪里可以找到這樣的例子? Goodling建議僅將選項卡欄與CardLayout結合使用。 但是我不知道如何繪制菜單欄,使其看起來像選項卡。 (我只是窺視了用於自定義圖紙的吊架,但這只是一般性的可能性,此外,如果我這樣做的話,我會失去樣式功能。我現在唯一能想到的就是使用沒有內容的選項卡式窗格,並且通過事件偵聽器控制卡片布局的另一個容器。

有什么建議么?

PS:我必須用Java 1.6實現解決方案

在這種情況下,您可以為JTabbedPane設置ComponentOrientation

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);
    }
}

使用setTabPlacement(JTabbedPane.TOP)方法檢查是否可用TOP,LEFT,BOTTOM,RIGHT

http://www.exampledepot.com/egs/javax.swing/tabbed_TpTabLoc.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM