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