Вступ на 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. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -
- JTextField на Java
- Діаграма компонентів UML
- Компоненти Hadoop
- JDialog на Java
- Повне керівництво по JFrame на Java
- JTable на Java | Конструктори, методи на Java