Введение в JComponent в Java

Поскольку мы все знаем о том факте, что почти все компоненты Swing, такие как JButton, JPanel, JTable и т. Д., Являются основными строительными блоками, которые используются при разработке приложения Swing. Они расширяют класс JComponent, который расширяет класс Container, который, в свою очередь, сам расширяет класс Container Java. Компоненты Swing несут в себе функциональность AWT, поскольку они расширяют класс Container. Таким образом, иерархия классов Swing соблюдается. Компоненты верхнего уровня, такие как JDialog и JFrame, не наследуют JComponent из-за того, что он является дочерним элементом контейнера верхнего уровня.

Синтаксис:

В Java нет такого синтаксиса JComponent. Существует только один конструктор по умолчанию JComponent, который может наследовать любой класс. Ниже дано базовое объявление JComponent:

public abstract class JComponent
extends Container
implements Serializable

JContainer используется следующим образом:

public class Myclass extends JComponent(
public void method()
( )
)

Типы и модификаторы, используемые для JComponent в Java

Ниже в таблице приведены типы и модификаторы, используемые для JComponent в Java:

Модификатор или Тип поле Описание
статическая строка TOOL_TIP_TEXT_KEY Он также известен как «подсказка значения», «метка эстакады» и используется для отображения, когда курсор находится над компонентом.
статический int UNDEFINED_CONDITION Эта константа в основном используется некоторыми API для упоминания ситуаций, когда условие не указано / не определено
статический int WHEN_FOCUSSED Эта константа означает, что команда должна вызываться, когда компонент имеет фокус и в основном используется для registerKeyboardAction
статический int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT Эта константа используется в ситуации сфокусированного компонента. Он используется для registerKeyboardAction, что означает, что команда будет вызываться, когда она сама является сфокусированным компонентом или принимающий компонент является предком этого сфокусированного компонента.
статический int WHEN_IN_FOCUSED_WINDOW Эта константа обычно используется для registerKeyboardAction и означает, что команда будет вызвана, если принимающий компонент присутствует в текущем фокусированном окне или сам является фокусированным компонентом.
защищенный ComponentUI щ Этот компонент является делегатом для внешнего вида
Защищенный EventListenerList listenerList Этот класс компонента используется для хранения полного списка слушателей событий.
защищенный AccessibleContext accessibleContext С этим JComponent связан AccessibleContext.

Методы JComponent в Java

Ниже приведены некоторые из наиболее часто используемых методов JComponent в Java:

S.no. Название метода Тип модификатора Описание
1. setBackground (Color bg) недействительным Этот метод используется, чтобы установить фон этого компонента
2. setForeground (Color fg) недействительным Этот метод используется для установки переднего плана этого компонента
3. setMaximumSize (Dimension maxSize) недействительным Этот метод используется для установки максимального размера этого компонента на максимальный размер для данного значения.
4. setMinimumSize (Dimension minSize) недействительным Этот метод используется для установки минимального размера этого компонента на заданное значение.
5. addAncestorListener (слушатель AncestorListener) недействительным Этот метод используется для добавления AncestorListener, чтобы он получал все AncestorEvents, когда любой из его Предков перемещен или сделан видимым / невидимым
6. firePropertyChange (String propertyName, логическое oldValue, логическое newValue) логический Этот метод используется для сообщения об изменении связанного свойства для логических свойств
7. getAccessibleContext () AccessibleContext Этот метод используется для получения контекста Accessible, который связан с JComponent.
8. getAncestorListeners () AncestorListener () Этот метод используется для возврата массива всех слушателей-предков, которые зарегистрированы в этом компоненте.
9. getToolTipText () строка Этот метод используется для возврата строки всплывающей подсказки, которая была установлена ​​методом setToolTipText ()
10. GetWidth () ИНТ Этот метод используется для получения текущей ширины компонента.
11. getTopLevelAncestor () Контейнер Этот метод возвращает предка верхнего уровня этого компонента. Если компонент еще не добавлен ни в один контейнер, он возвращает ноль.
12. isRequestFocusEnabled () логический Этот метод возвращает true, если этот Jcomponent должен получить фокус, и false, если нет.
13. processMouseEvent (MouseEvent e) защищенная пустота Этот метод обрабатывает любые события мыши, происходящие в этом компоненте, отправляя их всем зарегистрированным объектам MouseListener.
14. isLightweightComponent (Компонент с) статический логический Этот метод возвращает true, если этот компонент является легковесным компонентом, и false, если нет.
15. getActionForKeyStroke (KeyStroke, нажатие клавиши) ActionListener Этот метод в основном возвращает объект, который будет выполнять действие для данного нажатия клавиши.
16. getAccessibleContext () AccessibleContext Этот метод используется, чтобы получить доступный контекст, связанный с этим JComponent
17. getBorder () бордюр Этот метод возвращает границу этого компонента и ноль, если нет границы, устанавливающей компонент

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

Приведенная ниже программа реализует JComponent в Java:

Код:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class DrawCircle (
public static void main(String() args) (
new DrawCircle();
)
public DrawCircle() (
// creating a new JFrame using new keyword
JFrame fr = new JFrame("This is my first JComponet Program");
// setting the layout of the above created frame
fr.setLayout(new BorderLayout());
// adding the Circle in the frame
fr.getContentPane().add(new Circle(100, 100, 20));
// We can also get the background of frame using fr.setBackground(Color.blue)
method
fr.pack();
fr.setLocationRelativeTo(null);
// setting visibility of frame
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// setting the size of frame
fr.setSize(500, 300);
)
)
class Circle extends JComponent
(
private static final long serialVersionUID = 1L;
public Circle() ( )
public Circle(int b, int c, int dia)
(
// setting the location of Circle in Frame
super();
this.setLocation(b, c);
this.setSize(dia, dia);
)
@Override
public void paint(Graphics g)
(
super.paint(g);
// setting the color of circle
g.setColor(Color.yellow);
g.fillOval(0, 0, 80, 80);
)
)

Вывод: выполнение вышеуказанной программы приводит к нижеприведенному выводу.

Вывод

Приведенное выше описание JComponent четко объясняет, что это за JComponent, а также различные методы и модификаторы, используемые в JComponent. JComponent - одна из самых важных тем в работе с графикой. Так как есть много методов, используемых JComponent для разных целей. Поэтому, прежде чем их использовать, программист должен полностью их понять.

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

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

  1. JTextField в Java
  2. Диаграмма компонентов UML
  3. Компоненты Hadoop
  4. JDialog в Java
  5. Полное руководство по JFrame на Java
  6. JTable в Java | Конструкторы, Методы в Java