Uvod o JComponentu u Javi
Kao što smo svi svjesni činjenice da su gotovo sve Swing komponente poput JButton, JPanel, JTable, itd. Osnovni građevni blokovi koji se koriste u razvoju Swing aplikacije. Oni proširuju klasu JComponent što proširuje klasu Container, a zauzvrat i proširuju klasu Container u Javi. Swing komponente sadrže AWT funkcionalnost i sa sobom, jer proširuju klasu Container. Na taj se način slijedi hijerarhija klase Swing. Komponente najviše razine poput JDialog i JFrame ne nasljeđuju JComponent jer je dijete spremnika najviše razine.
Sintaksa:
U Javi ne postoji takva sintaksa JComponenta. Postoji samo jedan zadani konstruktor JComponent koji bilo koja klasa može naslijediti. Ispod je osnovna deklaracija JComponenta:
public abstract class JComponent
extends Container
implements Serializable
JContainer koristi se na način spomenut u nastavku:
public class Myclass extends JComponent(
public void method()
( )
)
Vrste i modifikatori koji se koriste za JComponent u Javi
Ispod tablice prikazane su vrste i modifikatori koji se koriste za JComponent u Javi:
Modifikator ili Vrsta | Polje | Opis |
statički niz | TOOL_TIP_TEXT_KEY | Poznat je i kao "tip napona", "prelijetanje naljepnice", a koristi se za prikaz kada je pokazivač iznad komponente |
statički int | UNDEFINED_CONDITION | Ovu konstantu u osnovi koriste neki API-ji kako bi se spomenule situacije kada nije navedeno / definirano nijedno stanje |
statički int | WHEN_FOCUSSED | Ta konstanta znači da bi naredbu trebalo pozvati kada komponenta ima fokus i u osnovi se koristi za registerKeyboardAction |
statički int | WHEN_ANCESTOR_OF_FOCUSED_COMPONENT | Ta se konstanta koristi u situaciji fokusirane komponente. Koristi se za registerKeyboardAction što znači da će se naredba pozvati kada je sama fokusirana komponenta ili je prijemna komponenta preda fokusirane komponente. |
statički int | WHEN_IN_FOCUSED_WINDOW | Ova se konstanta obično koristi za registerKeyboardAction i znači da će se naredba pozvati ako je prijemna komponenta prisutna u trenutno fokusiranom prozoru ili je sama fokusirana komponenta. |
zaštićeni ComponentUI | UI | Ova komponenta je delegat za izgled i dojam |
zaštićen EventListenerList | listenerList | Ova klasa komponenata koristi se za potpuni popis slušatelja događaja. |
zaštićen AccessibleContext | accessibleContext | S ovim JComponentom povezan je AccessibleContext. |
Metode JComponent u Javi
U nastavku su navedene neke od najčešće korištenih metoda JComponent u Javi:
S.no. | Naziv metode | Vrsta modifikatora | Opis |
1. | setBackground (boja bg) | poništiti | Ova metoda se koristi za postavljanje pozadine ove komponente |
2. | setForeground (boja fg) | poništiti | Ova metoda se koristi za postavljanje prednjeg dijela ove komponente |
3. | setMaximumSize (Dimension maxSize) | poništiti | Ova metoda se koristi za postavljanje maksimalne veličine ove komponente na maksimalnu veličinu na zadanu vrijednost. |
4. | setMinimumSize (Dimenzija minSize) | poništiti | Ovom se metodom postavlja minimalna veličina ove komponente na zadanu vrijednost. |
5. | addAncestorListener (slušatelj AncestorListener) | poništiti | Ova metoda se koristi za dodavanje AncestorListener-a tako da će primiti sve AncestorEvents kad se bilo koji od njegovih predaka premjesti ili učini vidljivim / nevidljivim |
6. | firePropertyPromeni (String propertyName, boolean oldValue, boolean newValue) | boolean | Ova se metoda koristi za prijavljivanje promjene vezanih svojstava za boola svojstva |
7. | getAccessibleContext () | AccessibleContext | Ova se metoda koristi za dobivanje pristupačnog konteksta koji je povezan s JComponentom. |
8. | getAncestorListeners () | AncestorListener () | Ova se metoda koristi da vrati niz svih slušatelja predaka koji su registrirani na ovoj komponenti. |
9. | getToolTipText () | Niz | Ova se metoda koristi za vraćanje niza alata koji je postavljen metodom setToolTipText () |
10. | getWidth () | int | Ova metoda se koristi za dobivanje trenutne širine komponente. |
11. | getTopLevelAncestor () | kontejner | Ova metoda vraća vrhunskog pretka ove komponente. Ako komponenta još nije dodana u bilo koji spremnik, vraća se nula. |
12. | isRequestFocusEnabled () | boolean | Ova metoda vraća istinu ako se ovaj Jcomponent treba usredotočiti, a ako nije. |
13. | processMouseEvent (MouseEvent e) | zaštićena praznina | Ova metoda obrađuje sve događaje miša koji se događaju na ovoj komponenti slanjem na bilo koje registrirane MouseListener objekte. |
14. | isLightweightComponent (Komponenta c) | statički boolean | Ova metoda vraća vrijednost true ako je ova komponenta lagana, a lažna ako nije. |
15. | getActionForKeyStroke (tipka, ključ) | ActionListener | Ova metoda u osnovi vraća objekt koji će izvesti radnju za dati pritisak tipke. |
16. | getAccessibleContext () | AccessibleContext | Ovom se metodom koristi pristupni kontekst povezan s ovim JComponentom |
17. | getBorder () | Granica | Ova metoda vraća granicu ove komponente i null ako komponenta nema granice koja je postavljena |
Program za implementaciju JComponenta u Javi:
Program u nastavku implementira JComponent u Javi:
Kodirati:
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);
)
)
Izlaz: Izvođenje gore navedenog programa rezultira dolje navedenim izlazom.
Zaključak
Gornji opis JComponenta jasno objašnjava što JComponent sadrži te različite metode i modifikatore koji se koriste u JComponentu. JComponent jedna je od najvažnijih tema kada je u pitanju rad s grafikom. Budući da postoji mnogo metoda koje JComponent koristi u različite svrhe. Dakle, prije upotrebe, programer to treba dobro razumjeti.
Preporučeni članci
Ovo je vodič za JComponent na Javi. Ovdje smo raspravljali o vrstama i modificiranim metodama i programskoj implementaciji JComponenta u Javi. Možete i proći kroz naše druge povezane članke da biste saznali više -
- JTextField u Javi
- DML dijagram komponente
- Hadoop komponente
- JDialog na Javi
- Kompletni vodič za JFrame na Javi
- JTable u Javi | Konstruktori, metode na Javi