Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách chèn nhiều tab vào một JTabbedPane trong Java

JTabbedPane

  • JTabbedPane mở rộng JComponent, tại một thời điểm chỉ thấy một tab.
  • Mỗi tab liên kết với một component đơn lẻ hiển thị khi tab được chọn.
  • Tạo giao diện ChangeListener khi tab được chọn.
  • Có thể chèn nhiều tab vào một JTabbedPane, các phương thức quan trọng: addTab(), fireStateChanged(), getTabPlacement(), setSelectedIndex(), getTabCount().

Ví dụ

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class NestedJTabbedPaneTest extends JFrame {
    public NestedJTabbedPaneTest() {
        setTitle("Nested JTabbedPane test");
        setLayout(new BorderLayout());
        JTabbedPane tabbedPane = new JTabbedPane();
        add(BorderLayout.CENTER, tabbedPane);
        createNestedTab(tabbedPane, 1);
        setSize(375, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    protected void createNestedTab(JTabbedPane jtp, int count) {
        if (count > 5) return;
        JTabbedPane tp = new JTabbedPane();
        tp.setTabPlacement(getNextOrientation(jtp.getTabPlacement()));
        jtp.addTab("Tab #" + count, tp);
        createNestedTab(tp, count + 1);
    }

    private int getNextOrientation(int tabPlacement) {
        if (tabPlacement == JTabbedPane.TOP) return JTabbedPane.RIGHT;
        if (tabPlacement == JTabbedPane.RIGHT) return JTabbedPane.BOTTOM;
        if (tabPlacement == JTabbedPane.BOTTOM) return JTabbedPane.LEFT;
        else return JTabbedPane.TOP;
    }

    public static void main(String[] args) {
        new NestedJTabbedPaneTest();
    }
}

Kết quả

Cách chèn nhiều tab vào một JTabbedPane trong Java