Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JTabbedPane의 선택된 탭을 어떻게 강조 표시할 수 있습니까?


JTabbedPane JComponent 의 하위 클래스입니다. 클래스이며 둘 이상의 패널에 쉽게 액세스할 수 있습니다. 각 탭은 탭이 선택될 때 표시될 수 있는 단일 구성요소와 연관됩니다. JTabbedPane ChangeListener 를 생성할 수 있습니다. 탭 선택 시 인터페이스 . 강조할 수 있습니다. JTabbedPane 의 특정 색상이 있는 선택된 탭 정적 메서드 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); // set the color of selected tab to gray 
      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() ;
   }
}

출력

Java에서 JTabbedPane의 선택된 탭을 어떻게 강조 표시할 수 있습니까?