Увод о ЈЦомпоненту у Јави
Као што смо сви свесни чињенице да су скоро све Свинг компоненте попут ЈБуттон, ЈПанел, ЈТабле, итд. Основни градивни блокови који се користе у развоју Свинг апликације. Они проширују класу ЈЦомпонент што продужује класу Цонтаинер, а сам за себе проширује и Јавину класу Цонтаинер. Свинг компоненте носе АВТ функционалност и са собом, јер проширују класу Цонтаинер. На овај начин се следи хијерархија класе Свинг. Компоненте највишег нивоа попут ЈДиалог и ЈФраме не наслеђују ЈЦомпонент због тога што је дете контејнера највишег нивоа.
Синтакса:
У Јави не постоји таква синтакса ЈЦомпонент. Постоји само један задани конструктор ЈЦомпонент који било која класа може наследити. Испод је основна декларација ЈЦомпонента:
public abstract class JComponent
extends Container
implements Serializable
ЈЦонтаинер се користи на начин споменут у наставку:
public class Myclass extends JComponent(
public void method()
( )
)
Типови и модификатори који се користе за ЈЦомпонент у Јави
Испод табеле приказане су врсте и модификатори који се користе за ЈЦомпонент у Јави:
Модификатор или тип | Поље | Опис |
статички низ | ТООЛ_ТИП_ТЕКСТ_КЕИ | Такође је познат и као „напојница вредности“, „налепница за прелаз“ и користи се за приказ када је курсор изнад компоненте |
статиц инт | УНДЕФИНЕД_ЦОНДИТИОН | Ову константу у основи користе неки АПИ-ји како би се споменуле ситуације када ниједан услов није одређен / дефинисан |
статиц инт | ВХЕН_ФОЦУССЕД | Ова константа значи да наредбу треба позвати када компонента има фокус и у основи се користи за регистерКеибоардАцтион |
статиц инт | ВХЕН_АНЦЕСТОР_ОФ_ФОЦУСЕД_ЦОМПОНЕНТ | Ова константа се користи у ситуацији фокусиране компоненте. Користи се за регистерКеибоардАцтион што значи да ће се наредба позвати када је сама фокусирана компонента или је пријемна компонента предак фокусиране компоненте. |
статиц инт | ВХЕН_ИН_ФОЦУСЕД_ВИНДОВ | Ова константа се обично користи за регистерКеибоардАцтион и значи да ће се наредба позвати ако је пријемна компонента присутна у тренутно фокусираном прозору или је сама фокусирана компонента. |
заштићен ЦомпонентУИ | уи | Ова компонента је делегат за изглед и осећај |
заштићен ЕвентЛистенерЛист | листенерЛист | Ова класа компонената користи се за комплетну листу слушалаца догађаја. |
заштићен АццессиблеЦонтект | аццессЦонтект | Уз овај ЈЦомпонент повезан је АццессиблеЦонтект. |
Методе ЈЦомпонент у Јави
У наставку су неке од најчешће коришћених метода ЈЦомпонента на Јави:
С.но. | Назив методе | Тип модификатора | Опис |
1. | сетБацкгроунд (боја бг) | празнина | Ова метода се користи за постављање позадине ове компоненте |
2 | сетФорегроунд (боја фг) | празнина | Ова метода се користи за постављање предњег плана ове компоненте |
3. | сетМакимумСизе (Дименсион макСизе) | празнина | Ова метода се користи за подешавање максималне величине ове компоненте на максималну величину на датој вредности. |
4. | сетМинимумСизе (Димензија минСизе) | празнина | Ова метода се користи за постављање минималне величине ове компоненте на задану вредност. |
5. | аддАнцесторЛистенер (АнцесторЛистенер листенер) | празнина | Ова метода се користи за додавање АнцесторЛистенер-а тако да ће примити све АнцесторЕвентс када се било који од његових предака помера или учини видљивим / невидљивим |
6 | фиреПропертиПромени (Стринг пропертиНаме, боолеан олдВалуе, боолеан невВалуе) | боолеан | Ова метода се користи за пријављивање промјене везаних својстава за бооле својства |
7. | гетАццессиблеЦонтект () | АццессиблеЦонтект | Ова метода се користи да би се добио Приступни контекст који је повезан са ЈЦомпонентом. |
8 | гетАнцесторЛистенерс () | АнцесторЛистенер () | Ова метода се користи да врати низ свих слушалаца предака који су регистровани овом компонентом. |
9. | гетТоолТипТект () | Низ | Ова метода се користи за враћање низа алатке који је постављен методом сетТоолТипТект () |
10. | гетВидтх () | инт | Ова метода се користи за добијање тренутне ширине компоненте. |
11. | гетТопЛевелАнцестор () | Контејнер | Овом методом се враћа највиши предак ове компоненте. Ако компонента још није додана у било који спремник, враћа се нула. |
12. | исРекуестФоцусЕнаблед () | боолеан | Ова метода враћа истину ако се овај Јцомпонент треба фокусирати, а ако није. |
13. | процессМоусеЕвент (МоусеЕвент е) | заштићена празнина | Ова метода обрађује све догађаје миша који се догађају на овој компоненти тако што их шаље у било који регистровани МоусеЛистенер објект. |
14. | исЛигхтвеигхтЦомпонент (Цомпонент ц) | статички боолеан | Ова метода враћа истину ако је ова компонента лагана, а лажна ако није. |
15. | гетАцтионФорКеиСтроке (КеиСтроке, тастер) | АцтионЛистенер | Ова метода у основи враћа објект који ће извести радњу за дати притисак. |
16. | гетАццессиблеЦонтект () | АццессиблеЦонтект | Ова метода се користи за добијање приступачног контекста повезаног са овим ЈЦомпонентом |
17. | гетБордер () | Граница | Ова метода враћа границу ове компоненте и нулл ако не постоји граница постављена компонента |
Програм за имплементацију ЈЦомпонента у Јави:
Програм у наставку имплементира ЈЦомпонент у Јави:
Шифра:
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);
)
)
Излаз: Извођење горе наведеног програма резултира доле наведеним излазом.
Закључак
Горњи опис ЈЦомпонента јасно објашњава шта је ЈЦомпонент и разне методе и модификаторе који се користе у ЈЦомпоненту. ЈЦомпонент је једна од најважнијих тема када је у питању рад са графиком. Пошто постоје многе методе које ЈЦомпонент користи у различите сврхе. Дакле, пре употребе, програмер то треба добро разумети.
Препоручени чланци
Ово је водич за ЈЦомпонент на Јави. Овдје смо расправљали о типовима и модифицираним, методама и програмској имплементацији ЈЦомпонента у Јави. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -
- ЈТектФиелд на Јави
- Дијаграм УМЛ компоненте
- Хадооп Цомпонентс
- ЈДиалог на Јави
- Комплетан водич за ЈФраме на Јави
- ЈТабле на Јави | Конструктори, методе на Јави