Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีเพิ่มแท็บหลายแท็บลงใน JTabbedPane เดียวใน Java

JTabbedPane

  • JTabbedPane ขยายจาก JComponent มองเห็นได้เพียงแท็บเดียวในเวลาเดียวกัน
  • แต่ละแท็บเชื่อมโยงกับคอมโพเนนต์เดียวที่แสดงเมื่อเลือกแท็บนั้น
  • JTabbedPane สร้าง ChangeListener เมื่อเลือกแท็บ
  • สามารถ เพิ่มหลายแท็บใน JTabbedPane เดียว ได้ เมธอดสำคัญคือ addTab(), fireStateChanged(), getTabPlacement(), setSelectedIndex(), getTabCount() เป็นต้น

ตัวอย่างโค้ด

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

ผลลัพธ์

วิธีเพิ่มแท็บหลายแท็บลงใน JTabbedPane เดียวใน Java