Introduktion om JComponent i Java
Som vi alla är medvetna om att nästan alla Swing-komponenter som JButton, JPanel, JTable, etc är de grundläggande byggstenarna som används i utvecklingen av Swing-applikationer. De utökar JComponent-klassen som utvidgar behållarklassen som i sin tur utvidgar behållarklassen på Java. Svängkomponenter bär AWT-funktionen också med sig själva när de utökar behållarklassen. På detta sätt följs hierarkin för Swing-klasserna. Toppnivåkomponenter som JDialog och JFrame ärver inte JComponenten på grund av att de är barn till toppnivåcontainer.
Syntax:
Det finns ingen sådan syntax för JComponent i Java. Det finns bara en standardkonstruktör för JComponent som alla klasser kan ärva. Nedan anges grunddeklarationen från JComponent:
public abstract class JComponent
extends Container
implements Serializable
JContainer används på det sätt som nämns nedan:
public class Myclass extends JComponent(
public void method()
( )
)
Typer och modifierare som används för JComponent i Java
Nedanför tabellen visar de typer och modifierare som används för JComponent i Java:
Modifierare eller typ | Fält | Beskrivning |
statisk sträng | TOOL_TIP_TEXT_KEY | Det är också känt som "värdetips", "flyover label" och används för att visas när markören är över komponenten |
statisk int | UNDEFINED_CONDITION | Denna konstant används i princip av några av API: erna för att nämna situationer när inget villkor specificeras / definieras |
statisk int | WHEN_FOCUSSED | Denna konstant innebär att kommandot ska aktiveras när komponenten har fokus och i princip används för registerKeyboardAction |
statisk int | WHEN_ANCESTOR_OF_FOCUSED_COMPONENT | Denna konstant används i situationen för den fokuserade komponenten. Det används för registerKeyboardAction vilket innebär att kommandot kommer att åberopas när det i sig är en fokuserad komponent eller den mottagande komponenten är förfäder till den fokuserade komponenten. |
statisk int | WHEN_IN_FOCUSED_WINDOW | Denna konstant används vanligtvis för registerKeyboardAction och innebär att kommandot kommer att aktiveras om den mottagande komponenten finns i det för närvarande fokuserade fönstret eller i sig är en fokuserad komponent. |
skyddad ComponentUI | ui | Denna komponent är delegaten för utseende och känsla |
skyddad EventListenerList | listenerList | Den här komponentklassen används för att hålla en komplett lista över evenemangslyssnare. |
skyddad AccessibleContext | accessibleContext | Med denna JComponent är AccessibleContext associerad. |
Metoder för JComponent i Java
Nedan ges några av de vanligaste metoderna för JComponent i Java:
S.no. | Metodnamn | Modifieringstyp | Beskrivning |
1. | setBackground (Färg bg) | tomhet | Den här metoden används för att ställa in bakgrunden för denna komponent |
2. | setForeground (Färg fg) | tomhet | Den här metoden används för att ställa in förgrunden för denna komponent |
3. | setMaximumSize (Dimension maxSize) | tomhet | Den här metoden används för att ställa in den maximala storleken för denna komponent till den maximala storleken på det angivna värdet. |
4. | setMinimumSize (Dimension minSize) | tomhet | Denna metod används för att ställa in minsta storlek på denna komponent till det angivna värdet. |
5. | addAncestorListener (AncestorListener lyssnaren) | tomhet | Den här metoden används för att lägga till en AncestorListener så att den får alla AncestorEvents när någon av dess förfäder flyttas eller synlig / osynlig |
6. | firePropertyChange (String propertyName, boolean oldValue, boolean newValue) | boolean | Den här metoden används för att rapportera en bunden egendomsändring för booleska egenskaper |
7. | getAccessibleContext () | AccessibleContext | Den här metoden används för att få tillgängligt sammanhang som är associerat med JComponent. |
8. | getAncestorListeners () | AncestorListener () | Denna metod används för att returnera en matris med alla förfädernas lyssnare som är registrerade med denna komponent. |
9. | getToolTipText () | Sträng | Den här metoden används för att returnera strängen för verktygstipset som har ställts in med metoden setToolTipText () |
10. | getWidth () | int | Den här metoden används för att få komponentens nuvarande bredd. |
11. | getTopLevelAncestor () | Behållare | Denna metod returnerar toppnivån till denna komponent. Om komponenten inte har lagts till i någon behållare returnerar den noll. |
12. | isRequestFocusEnabled () | boolean | Den här metoden går sant om denna Jcomponent ska få fokus och falskt om inte. |
13. | processMouseEvent (MouseEvent e) | skyddat tomrum | Denna metod bearbetar alla mushändelser som inträffar på denna komponent genom att skicka dem till alla registrerade MouseListener-objekt. |
14. | isLightweightComponent (komponent c) | statisk booleska | Denna metod returnerar sanningen om denna komponent är en lätt komponent och falsk om inte. |
15. | getActionForKeyStroke (KeyStroke, keystroke) | Action | Denna metod returnerar i princip objektet som kommer att utföra åtgärden för det givna tangenttrycket. |
16. | getAccessibleContext () | AccessibleContext | Den här metoden används för att få det tillgängliga sammanhanget som är associerat med denna JComponent |
17. | getBorder () | Gräns | Denna metod returnerar gränsen för denna komponent och noll om det inte finns någon gräns ställer in komponenten |
Program för att implementera JComponent i Java:
Nedanstående program implementerar JComponent i Java:
Koda:
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);
)
)
Utgång: Att utföra ovanstående program resulterar i nedanstående utgång.
Slutsats
Ovanstående beskrivning av JComponent förklarar tydligt vad JComponent det och de olika metoder och modifierare som används i JComponent. JComponent är ett av de viktigaste ämnena när det gäller att arbeta med grafik. Eftersom det finns många metoder som används av JComponent som används för olika ändamål. Så innan du använder dem, bör det förstås noggrant av programmeraren.
Rekommenderade artiklar
Detta är en guide till JComponent i Java. Här diskuterar vi typer och modifierade, metoder och programimplementering av JComponent i Java. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-
- JTextField i Java
- UML-komponentdiagram
- Hadoop-komponenter
- JDialog i Java
- Komplett guide till JFrame i Java
- JTable i Java | Konstruktörer, metoder i Java