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

วิธี Highlight Tab ที่เลือกของ JTabbedPane ใน Java

JTabbedPane เป็น subclass ของ JComponent ให้การเข้าถึงมากกว่าหนึ่ง panel ได้ง่าย แต่ละ tab เชื่อมโยงกับ single component ที่แสดงเมื่อ tab ถูกเลือก JTabbedPane สร้าง ChangeListener interface เมื่อ tab is selected เราสามารถ highlight tab ที่เลือกด้วยสีเฉพาะของ JTabbedPane ได้โดยใช้ static method put() ของ UIManager

ตัวอย่าง

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

public class SelectedJTabbedPaneTest extends JFrame implements ActionListener {
    private JTabbedPane tabbedPane;
    int tab = 0;

    public SelectedJTabbedPaneTest() {
        setTitle("SelectedJTabbedPane Test");
        setLayout(new BorderLayout());
        UIManager.put("TabbedPane.selected", Color.gray); // ตั้งค่าสี tab ที่เลือกเป็นสีเทา
        tabbedPane = new JTabbedPane();
        createTab();
        add(tabbedPane, BorderLayout.CENTER);
        setJMenuBar(createMenuBar());
        setSize(375, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();
        JMenu menu = new JMenu("JTabbedPane");
        JMenuItem menuItem = new JMenuItem("Create a new tab");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        menuBar.add(menu);
        return menuBar;
    }

    public void actionPerformed(ActionEvent ae) {
        if (ae.getActionCommand().equals("Create a new tab")) {
            createTab();
        }
    }

    public void createTab() {
        tab++;
        tabbedPane.addTab("Tab " + tab, new JLabel("Tab " + tab));
    }

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

Output

วิธี Highlight Tab ที่เลือกของ JTabbedPane ใน Java