Въведение в 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 | Известен е също като „value tip“, „flyover label“ и се използва за показване, когато курсорът е над компонента |
статичен вх | UNDEFINED_CONDITION | Тази константа се използва основно от някои от API-тата, за да се споменат ситуациите, когато не е посочено / дефинирано условие |
статичен вх | WHEN_FOCUSSED | Тази константа означава, че командата трябва да бъде извикана, когато компонентът има фокус и основно се използва за registerKeyboardAction |
статичен вх | WHEN_ANCESTOR_OF_FOCUSED_COMPONENT | Тази константа се използва в ситуацията на фокусирания компонент. Използва се за registerKeyboardAction, което означава, че командата ще бъде извикана, когато той сам е фокусиран компонент или получаващият компонент е прародител на фокусирания компонент. |
статичен вх | WHEN_IN_FOCUSED_WINDOW | Тази константа обикновено се използва за registerKeyboardAction и означава, че командата ще бъде извикана, ако получаващият компонент присъства в текущо фокусирания прозорец или самият той е фокусиран компонент. |
защитен компонентUI | UI | Този компонент е делегатът на външния вид и усещането |
защитен EventListenerList | listenerList | Този клас компоненти се използва за съхраняване на пълен списък на слушателите на събития. |
защитен AccessibleContext | accessibleContext | С този JComponent се свързва AccessibleContext. |
Методи на JComponent в Java
По-долу са дадени някои от най-често използваните методи на JComponent в Java:
S.no. | Име на метода | Тип модификатор | описание |
1. | setBackground (Цвят bg) | празнота | Този метод се използва за задаване на фона на този компонент |
2. | setForeground (Цвят fg) | празнота | Този метод се използва за задаване на преден план на този компонент |
3. | setMaximumSize (Dimension maxSize) | празнота | Този метод се използва за определяне на максималния размер на този компонент на максималния размер до дадената стойност. |
4. | setMinimumSize (Dimension minSize) | празнота | Този метод се използва за определяне на минималния размер на този компонент на дадената стойност. |
5. | addAncestorListener (слушател на AncestorListener) | празнота | Този метод се използва за добавяне на AncestorListener, така че той да получава всички AncestorEvents, когато някой от неговите предци бъде преместен или направен видим / невидим |
6. | firePropertyChange (String propertyName, boolean oldValue, boolean newValue) | булева | Този метод се използва за отчитане на обвързана промяна на свойствата за булеви свойства |
7. | getAccessibleContext () | AccessibleContext | Този метод се използва за получаване на достъпния контекст, който е свързан с JComponent. |
8. | getAncestorListeners () | AncestorListener () | Този метод се използва за връщане на масив от всички слушатели на предци, които са регистрирани с този компонент. |
9. | getToolTipText () | низ | Този метод се използва за връщане на низ на подсказката, която е зададена от метода setToolTipText () |
10. | getWidth () | инт | Този метод се използва за получаване на текущата ширина на компонента. |
11. | getTopLevelAncestor () | Контейнер | Този метод връща прародителя от най-високо ниво на този компонент. Ако компонентът все още не е добавен към който и да е контейнер, той връща нула. |
12. | isRequestFocusEnabled () | булева | Този метод връща вярно, ако този Jcomponent трябва да получи фокус и false ако не. |
13. | processMouseEvent (MouseEvent e) | защитена празнота | Този метод обработва всички събития на мишката на този компонент, като ги изпраща до всички регистрирани обекти на MouseListener. |
14. | isLightweightComponent (Компонент c) | статичен булев | Този метод връща вярно, ако този компонент е лек компонент, а неверният, ако не. |
15. | getActionForKeyStroke (KeyStroke, натискане на клавиш) | 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