Введение в JTabbedPane в Java

Класс JTabbedPane является одним из многих классов (таких как JButton, JTextArea, JMenu, JTextField и т. Д.), Которые java-пакет 'javax.swing' предоставляет для API Java-свинга.

Пакет Java Swing является частью базовых классов Java, JFC. Эти базовые классы используются для создания графических пользовательских интерфейсов, оконных приложений с использованием доступных компонентов графического интерфейса, что облегчает программисту разработку настольных приложений. Они написаны полностью в Java-версии AWT, Abstract Windows Toolkit.

Но в отличие от AWT, пакеты Java Swing предоставляют независимые от платформы компоненты. Эти компоненты также сравнительно легкие.

В конце этой статьи вы сможете добавить компоненты Swing JComponents, такие как JTabbedPane, в контейнер AWT. Вы также сможете установить положение вашей панели и рамы. Вы также узнаете, как создать панель вкладок с возможностью прокрутки.

Что такое JTabbedPane?

JTabbedPane - один из классов, предоставляемых пакетом swing в java. Это очень полезно, поскольку предоставляет пользователю гибкость в переключении между различными группами компонентов, которые он желает увидеть, просто нажав на одну из вкладок. Вкладки могут иметь разные названия или значки.

Вот повседневный пример такого окна, в котором есть несколько вкладок, доступ к которым можно получить, нажав на вкладки.

Простое окно «Свойства» локального диска (здесь, «Локальный диск F: окно свойств в моей системе») в вашей компьютерной системе имеет несколько вкладок с именами «Общие», «Инструменты», «Оборудование» и т. Д., К которым вы можете получить доступ, нажав на одну из них. из них, является прекрасным примером панелей с вкладками.

Другими словами, JTabbedPane помогает вам иметь несколько компонентов в одном месте. Пользователь легко выбирает, какой компонент он хочет видеть, выбирая или нажимая на нужную вкладку.

JTabbedPane Tab Индексация и размещение

Вкладки представлены индексом, который определяется в соответствии с местом или положением, в котором была добавлена ​​вкладка.

Чтобы понять это, давайте предположим, что вы добавили свою первую вкладку. Тогда его индекс будет равен «0», а ваша следующая вкладка будет иметь индекс, равный «1», и, следуя моде, индекс вашей последней добавленной вкладки будет равен «счетчик вкладок минус 1».

Классы панели с вкладками используют единственную модель выбора, которая представляет «набор индексов вкладок», а также «выбранный в данный момент индекс», то есть индекс выбранной вкладки.

По умолчанию вкладки располагаются в ТОП месте, как вы можете видеть на панели вкладок свойств вышеупомянутого окна. Вы можете изменить размещение этой вкладки на любое из направлений, таких как ВЛЕВО, ВПРАВО или Вниз, используя метод setTabPlacement.

Конструкторы JTabbedPane в Java

При использовании JTabbedPane мы также будем использовать его конструкторы, которые различаются в зависимости от предоставляемых ими привилегий.

Обычно используемые конструкторы при использовании JTabbedPane перечислены ниже:

1. JTabbedPane ()

Конструктор JTabbedPane () создает пустой TabbedPane. Когда мы используем конструктор JTabbedPane (), он создает панель без какой-либо спецификации для ее размещения. Таким образом, вкладка размещается на своем месте по умолчанию, то есть TOP, как обсуждалось выше, используя JTabbedPane.TOP.

2. JTabbedPane (int tabPlacement)

Этот конструктор создает пустой TabbedPane. Это дает право выбирать направление или место для панели. Размещение выполняется, когда направление указано с помощью JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT или JTabbedPane.RIGHT.

3. JTabbedPane (int tabPlacement, int tabLayoutPolicy)

Пустая панель с вкладками создается при использовании этого конструктора. Это дает право определять размещение для панели вкладок так же, как конструктор JTabbedPane (int tabPlacement).

Это также позволяет программисту определять политику расположения вкладок. Это позволяет программисту контролировать, как будут отображаться вкладки. Для политики макета вкладки задано значение JTabbedPane.SCROLL_TAB_LAYOUT или JTabbedPane.WRAP_TAB_LAYOUT. По умолчанию политика имеет значениеWRAP_TAB_LAYOUT.

Если для политики задано значение SCROLL_TAB_LAYOUT, вкладки становятся доступными для прокрутки, а на панели вкладок отображается кнопка для прокрутки вкладок, влево или вправо или вверх.

Пример JTabbedPane

Здесь мы подробно обсудим Пример JTabbedPane на Java:

Наконец, какое-то упражнение, начнем?

Это часть, где мы попытаемся добавить панель с вкладками в нашем JFrame. Мы будем использовать пакет javax.swing.JTabbedPane, который предоставит нам возможность добавлять вкладки в наш фрейм.

Ниже приведен пример кода, использующего JTabbedPane для создания вкладок в нашем фрейме.

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
public class JTP_Layout
(
JFrame frame;
JTP_Layout()
(
//Creating our JFrame
frame= newJFrame("Tabbed Pane Sample");
//Terminating process after exiting
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Adding TabbedPane Object
JTabbedPanetabbedPane = new JTabbedPane();
//Adding TabbedPane LayoutPolicy
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//TabPlacement
//tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
//Setting our componentobject
//JRadioButton r1=new JRadioButton("A) Tab Component A");
//r1.setBounds(30, 30, 100, 90);
//Adding our First Panel Object
JPanel p1=new JPanel();
//Adding our component to the Panel
//p1.add(r1);
JPanel p2=new JPanel();
JPanel p3=new JPanel();
//Setting boundary values for the tabs
tabbedPane.setBounds(50, 50, 200, 200);
//Naming 'One' asour First Pane
tabbedPane.add("One", p1);
tabbedPane.add("Two", p2);
tabbedPane.add("Three", p3);
//Setting Frame'sposition to the center
frame.add(tabbedPane, BorderLayout.CENTER);
//Setting FRame'sSize
frame.setSize(400, 150);
//Setting visibility asTrue
frame.setVisible(true);
)
public static void main(String args())
(
new JTP_Layout();
)
)


Когда вышеуказанная программа запускается, мы получаем следующее окно в качестве вывода.

В приведенном выше примере мы добавили вкладки в наш JFrame и присвоили нашим вкладкам разные имена: «Один», «Два» и т. Д. Мы также можем добавлять различные компоненты на наших разных вкладках, используя простую строку кода, например ниже.

Мы создали объект для переключателя r1, а затем этот объект был использован для добавления переключателей на панель One, т.е. p1.

И компонент «Radio Button» появится под нашей первой панелью, где мы его добавили.

Использование конструкторов JTabbedPane

Мы уже использовали конструкторы, такие как JTabbedPane (int tabPlacement) или JTabbedPane (int tabPlacement, int tabLayoutPolicy) в нашей программе, но мы до сих пор не увидели, как это влияет.

Поймите это, мы создали класс Java для себя, а затем вызвали наш конструктор JTP_Layout (см. Код). Затем мы устанавливаем аргументы, такие как setTabLayoutPolicy, в значение SCROLL_TAB_LAYOUT, используя объект нашего класса.

Как упомянуто выше, когда политика табулирования установлена ​​на SCROLL, она позволяет пользователю прокручивать вкладки в направлении, используя кнопку.

Для иллюстрации я увеличил количество вкладок в нашей программе и установил политику SCROLL, посмотрим, как это работает:

Вы можете увидеть кнопку прокрутки в правом углу, которая позволяет пользователю перемещаться влево-вправо с помощью этой кнопки.

Другим таким аргументом, добавленным в наш конструктор, является setTabPlacement, который, как обсуждалось выше, по умолчанию имеет значение TOP. Но наш конструктор помогает нам решить эту проблему, установив положение вкладки «Вниз», «Влево» или «Вправо».

У нас уже был такой код в автономном режиме в нашей программе, но он прокомментировал (см. Код), когда комментарий удален, смотрите эффект.

Обратите внимание, что когда мы использовали tabbedPane.setTabPlacement (JTabbedPane.BOTTOM), наши вкладки переместились в нижнюю часть фрейма.

Здесь важно отметить, что никакой «Обработки ошибок» не требуется, наш объект JTabbedPane обрабатывает нажатия и события мыши и клавиатуры. Тем не менее, если вам нужны аналогичные функции без интерфейса вкладок, вы можете использовать макет карты вместо панели с вкладками.

В конце, если сказать простыми словами, для создания нашей панели с вкладками создайте экземпляр JTabbedPane, затем создайте компоненты для отображения, а затем добавьте эти компоненты на нужную вкладку.

Вот и все, это было легко, верно?

Рекомендуемые статьи

Это руководство по JTabbedPane в Java. Здесь мы обсуждаем введение в конструкторы JTabbedPane и JTabbedPane вместе с его примером. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Конструктор и деструктор в Java
  2. JScrollPane в Java
  3. JComboBox в Java
  4. JDialog в Java
  5. Инструменты развертывания Java
  6. JFrame в Java