Вступ на 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 і означає, що команда буде викликатися, якщо приймаючий компонент присутній у вікні, що фокусується в даний час, або сам є фокусованим компонентом.
захищений компонентUI іі Цей компонент є делегатом зовнішнього вигляду
захищений EventListenerList listenerList Цей клас компонентів використовується для повного переліку слухачів подій.
захищений AccessibleContext accessContext З цим JComponent пов'язаний AccessibleContext.

Методи JComponent в Java

Нижче наведено декілька найбільш часто використовуваних методів JComponent на Java:

S.no. Назва методу Тип модифікатора Опис
1. setBackground (Колір bg) порожнеча Цей метод використовується для встановлення фону цього компонента
2. setForeground (Колір fg) порожнеча Цей метод використовується для встановлення переднього плану цього компонента
3. setMaximumSize (Dimension maxSize) порожнеча Цей метод використовується для встановлення максимального розміру цього компонента на максимальний розмір до заданого значення.
4. setMinimumSize (розмір minSize) порожнеча Цей метод використовується для встановлення мінімального розміру цього компонента на задане значення.
5. addAncestorListener (слухач AncestorListener) порожнеча Цей метод використовується для додавання AncestorListener, щоб він отримував усі AncestorEvents, коли будь-який з його предків переміщувався або робився видимим / невидимим
6. firePropertyChange (String propertyName, boolean oldValue, boolean newValue) булева Цей метод використовується для повідомлення про зміну пов'язаної властивості для булевих властивостей
7. getAccessibleContext () AccessibleContext Цей метод використовується для отримання контексту Accessible, який асоціюється з JComponent.
8. getAncestorListeners () ПредкаЛюсник () Цей метод використовується для повернення масиву всіх слухачів предків, які зареєстровані за допомогою цього компонента.
9. getToolTipText () Рядок Цей метод використовується для повернення рядка підказки, встановленого методом setToolTipText ()
10. getWidth () int Цей метод використовується для отримання поточної ширини компонента.
11. getTopLevelAncestor () Контейнер Цей метод повертає пращура цього компонента верхнього рівня. Якщо компонент ще не доданий до жодного контейнера, він повернеться в нульове значення.
12. isRequestFocusEnabled () булева Цей метод повертає істину, якщо цей Jcomponent повинен отримати фокус і false якщо ні.
13. processMouseEvent (MouseEvent e) захищена порожнеча Цей метод обробляє будь-які події миші, що відбуваються на цьому компоненті, шляхом відправки їх до будь-яких зареєстрованих об'єктів MouseListener.
14. isLightweightComponent (компонент c) статичний булевий Цей метод повертає істину, якщо цей компонент є легким компонентом, а помилковим - ні.
15. getActionForKeyStroke (натискання клавіш, натискання клавіші) ActionListener Цей метод в основному повертає об'єкт, який буде виконувати дію для даного натискання клавіші.
16. getAccessibleContext () AccessibleContext Цей метод використовується для отримання доступного контексту, пов'язаного з цим JComponent
17. getBorder () Кордон Цей метод повертає межу цього компонента та null, якщо компонент не встановлений для межі

Програма для реалізації 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