Введение в JPanel на Java

JPanel - это самый простой облегченный контейнерный класс, который является частью пакета java.swing. Он может группировать или хранить набор компонентов вместе, главным образом для создания пользовательского интерфейса. Это похоже на панель в Abstract Window Toolkit (AWT). JPanel не содержит рамку, строку заголовка или строку меню. Хотя существует несколько менеджеров компоновки, FlowLayout является менеджером компоновки по умолчанию в JPanel, и он наследует класс JComponents. Если компонент должен быть присоединен к приложению, JPanel предоставляет пространство. Давайте разберемся в JPanel подробно в следующих разделах.

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

JPanel может быть объявлен с использованием следующего синтаксиса:

public class JPanel extends JComponent implements Accessible

JPanel не будет полным без конструкторов. Ниже приведены различные конструкторы, используемые в JPanel.

  • JPanel (): поскольку FlowLayout является менеджером по умолчанию, создается новая панель с FlowLayout, если вызывается этот конструктор.
  • JPanel (LayoutManager lm): создается новый JPanel с менеджером макета как lm.
  • JPanel (Boolean isDoubleBuffered): создается новый JPanel с упомянутой стратегией буферизации. Значение может быть истинным или ложным в зависимости от требования.
  • JPanel (LayoutManager lm, Boolean isDoubleBuffered): создается новый JPanel с указанным менеджером макета lm и стратегией буферизации.

Функции, используемые в JPanel

Некоторые из общих функций, используемых в JPanel:

  • getUIClassID (): Возвращается имя класса внешнего вида ( L & F), которое отображает этот компонент.
  • add (Компонент комп): Компонент комп добавляется в указанный контейнер.
  • getAccessibleContext (): AccessibleContext, связанный с JPanel, возвращается.
  • getUI (): Возвращается внешний вид (L & F) объекта, который отображает этот компонент.
  • setLayout (LayoutManager lm): макет контейнера установлен в указанном менеджере макета lm.
  • setUI (PanelUI Pui): Объект внешнего вида (L & F), который отображает этот компонент, установлен.
  • updateUI (): текущее значение внешнего вида (L & F) сбрасывается с помощью свойства пользовательского интерфейса.
  • paramString (): возвращается строковое представление JPanel.

Как создать панель в Java?

Как уже говорилось, класс JPanel относится к пакету java.swing и подклассу java.swing.JComponent.

1. JPanel объект создается как указано ниже.

JPanel jp=new JPanel(); //jp is the object

2. Создайте класс, который расширяет класс JPanel.

public class jpclass extends JPanel()
(
//code to add the components
)

3. Менеджер по расположению может быть упомянут или не основан на требовании.

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

JPanel jp=new JPanel(new BorderLayout);
JPanel jp=new JPanel(new GridBagLayout);

4. Стратегия двойной буферизации может быть применена с использованием конструктора JPanel (логическое значение isdoubleBuffered)

JPanel jp=new JPanel(true);//double buffering enables
JPanel jp=new JPanel(false); //double buffering disables

После создания Panel на Java давайте установим менеджер раскладки для JPanel.

Чтобы установить макет, используйте метод setLayout (LayoutManager lm).

JPanel jp=new JPanel(new GridBagLayout);

Здесь GridBagLayout устанавливается как макет. Если мы используем синтаксис как

JPanel jp=new JPanel();

Тогда макет по умолчанию устанавливается как FlowLayout.

Действия по добавлению компонентов в контейнер объясняются в следующем разделе.

Как добавить компоненты в Java?

Чтобы добавить такие компоненты, как кнопка, JLabel, JTextfield и т. Д., Мы будем использовать метод add (). Поскольку существуют разные версии для add (), какой метод используется, зависит от менеджера компоновки панели.

1. Метод Add (Component cmp) будет использоваться для таких менеджеров компоновки, как GridLayout, FlowLayout, SpringLayout, BoxLayout.

JLabel jl = new JLabel("Username: ");
JTextField un= new JTextField(20);
jp.add(jl);
jp.add(un);

jp является объектом JPanel.

2. Метод Add (Component cmp, Object obj) будет использоваться для таких менеджеров компоновки, как CardLayout, BorderLayout или GridBagLayout.

JPanel jp = new JPanel(new BorderLayout());
JLabel jl = new JLabel("Username:");
JTextField un = new JTextField(40);
jp.add(label, BorderLayout.NORTH);
jp.add(userName, BorderLayout.WEST);

Если мы используем GridBagLayout, GridBagConstraintsobject должен быть передан в качестве второго аргумента.

GridBagConstraints cn = new GridBagConstraints();
cn.anchor = GridBagConstraints.WEST;
cn.insets = new Insets(10, 10, 10, 10);
cn.gridx = 0;
cn.gridy = 0;
jp.add(labelUsername, constraints);

Если мы используем CardLayout, используется метод add (String name, Component cmp). Здесь первым аргументом является имя для карты.

JPanel cl = new JPanel(new CardLayout());
cl.add("A", step1Panel);
cl.add("B", step2Panel);

Программа для реализации JPanel на Java

Теперь давайте посмотрим на программу для реализации простого JPanel на Java.

// java Program to create a simple JPanel add components to it
import java.awt.*;
import javax.swing.*;
//A sub class is created b extending JFrame
class JPanelProgram extends JFrame (
// creates a JFrame
static JFrame fr;
// creates JButton
static JButton bt, bt1, bt2;
//creates JLabel that helps in displaying the text
static JLabel lb;
// main class
public static void main(String() args)
(
// A new frame is created to store buttons
fr= new JFrame("Panel");
// Label to display text is created
lb= new JLabel("Panel's Label");
//new buttons are created
bt = new JButton("A Button");
bt1 = new JButton("B Button");
bt2 = new JButton("C Button");
//Panel to add buttons is created
JPanel p = new JPanel();
//Add buttons and text field to panel
p.add(bt);
p.add(bt1);
p.add(bt2);
p.add(lb);
// set the background color of panel
p.setBackground(Color.green);
// add panel to frame
fr.add(p);
// set the size of frame
fr.setSize(400, 300);
fr.show();
)
)

Выход :

В этой программе панель создается с кнопками и текстовыми полями. Фон с зеленым цветом также установлен для панели. Цвета, размер, количество кнопок можно изменить в зависимости от требований.

Предположим, мы хотим создать компонент с BorderLayout. Единственная разница в синтаксисе упоминается ниже.

//Panel to add buttons is created
JPanel jp = new JPanel(new BorderLayout());
//Add buttons and text field to panel
jp.add(bt, BorderLayout.NORTH);
jp.add(bt1, BorderLayout.SOUTH);
jp.add(bt2, BorderLayout.CENTER);

Ниже приведен пример вывода для указанного выше BorderLayout.

Выход:

Вывод - JPanel на Java

JPanel - это легкий простой контейнер, который группирует набор компонентов вместе. Макет может быть добавлен в контейнер в зависимости от требований пользователя. Хотя FlowLayout используется по умолчанию, также используются другие макеты, такие как BorderLayout, GridBagLayout, CardLayout. В этом документе объясняются различные конструкторы и некоторые другие особенности JPanel.

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

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

  1. JScrollPane в Java
  2. JTextField в Java
  3. JDialog в Java
  4. JComboBox в Java
  5. JFrame в Java
  6. JLabel на Java