Java - JComponent


Klasa JComponent je osnovna klasa svih Swing komponenti osim kontejnera najviše nivoa. Swing komponente čija imena počinju sa "J" su potomci klase JComponent. Na primjer: JButton, JScrollPane, JPanel, JTable itd. Ali, JFrame i JDialog ne nasljeđuju klasu JComponent, jer su potomci kontejnera najvišeg nivoa. Klasa JComponent proširuje klasu Container koja sama proširuje Component. Klasa Container ima podršku za dodavanje komponenti u kontejner.



Polja

Modifikator i tip Polje Opis
protected AccessibleContext accessibleContext AccessibleContext povezan s ovom JComponentom.
protectedEventListenerList listenerList Lista slušalaca događaja za ovu komponentu.
static String TOOL_TIP_TEXT_KEY Komentar za prikaz kada je kursor iznad komponente, takođe poznat kao "vrijednost savjet", "pomoć za prelet" ili "oznaka za prelet"
protected ComponentUI ui Delegat izgleda i osjećaja (feel) za ovu komponentu.
static int UNDEFINED_CONDITION Konstanta koju koriste neki od API-ja da znače da nijedan uslov nije definisan.
static int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT Konstanta koja se koristi za registerKeyboardAction što znači da naredbu treba pozvati kada je komponenta koja prima predak fokusirane komponente ili je sama fokusirana komponenta.
static int WHEN_FOCUSED Konstanta koja se koristi za registerKeyboardAction što znači da naredbu treba pozvati kada komponenta ima fokus.
static int WHEN_IN_FOCUSED_WINDOW Konstanta koja se koristi za registerKeyboardAction što znači da naredbu treba pozvati kada se komponenta koja prima nalazi u prozoru koji ima fokus ili je sama fokusirana komponenta.


Konstrktor

Konstruktor Opis
JComponent() Zadani JComponent konstruktor.


Korisne metode

Modifikator i tip Metod Opis
void
void setActionMap(ActionMap am) Postavlja ActionMap na am.
void setBackground(Color bg) Postavlja boju pozadine ovu komponente.
void setFont(Font font) Postavlja font za ovu komponentu.
void setMaximumSize(Dimension maximumSize) Postavlja maksimalnu veličinu ove komponente na konstantnu vrijednost.
void setMinimumSize(Dimension minimumSize) Postavlja minimalnu veličinu ove komponente na konstantnu vrijednost.
protected void setUI(ComponentUI newUI) postavlja delegata izgleda i osjećaja (feel) za ovu komponentu.
void setVisible(boolean aFlag) Čini komponentu vidljivom ili nevidljivom.
void setForeground(Color fg) Postavlja boju prednjeg plana ove komponente.
String getToolTipText(MouseEvent event) Vraća string koji će se koristiti kao opis za događaj.
Container getTopLevelAncestor() Vraća pretka najvišeg nivoa ove komponente (bilo koji sadrži prozor ili aplet) ili null ako ova komponenta nije dodana nijednom kontejeneru.
TransferHandler getTransferHandler() Dobija svojstvo transferHandler.


Primjer Java JComponent

// Importovanje potrebnih biblioteka
import java.awt.Color;  
import java.awt.Graphics;  
import javax.swing.JComponent;  
import javax.swing.JFrame;

class MyJComponent extends JComponent {  
      public void paint(Graphics g) {  
        g.setColor(Color.green);  
        g.fillRect(30, 30, 100, 100);  
      }  
}  
public class Main {  
      public static void main(String[] arguments) {  
        MyJComponent com = new MyJComponent(); 
        
        // Kriranje osnovnog JFrame-a i podešavanje veličine  
        JFrame.setDefaultLookAndFeelDecorated(true);  
        JFrame frame = new JFrame("Primjer JComponent");  
        frame.setSize(300,200);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        // Dodavanje JComponent-i u osnovni (main) Frame
        frame.add(com);  
        frame.setVisible(true);  
      }  
}

Prikaz koda iz gornjeg primjera izgledaće ovako: