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

Java에서 단일 JTabbedPane에 여러 탭을 어떻게 삽입할 수 있습니까?

<시간/>

JTabbedPane

  • JTabbedPane 구성 요소는 JComponent 를 확장할 수 있습니다. 한 번에 하나의 탭을 볼 수 있습니다.
  • 각 탭은 탭이 선택될 때 표시될 수 있는 단일 구성요소와 연결됩니다.
  • JTabbedPane ChangeListener 를 생성할 수 있습니다. 탭 선택 시 인터페이스
  • 여러 탭을 삽입하는 것도 가능합니다. 단일 JTabbedPane으로 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);
      setLoc*ationRelativeTo(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();
   }
}

출력

Java에서 단일 JTabbedPane에 여러 탭을 어떻게 삽입할 수 있습니까?