Introdução ao JComponent em Java
Como todos sabemos o fato de que quase todos os componentes do Swing, como JButton, JPanel, JTable, etc, são os componentes básicos usados no desenvolvimento do aplicativo Swing. Eles estendem a classe JComponent, que está estendendo a classe Container, que por sua vez, estende a classe Container de Java. Os componentes de oscilação também carregam a funcionalidade AWT consigo, à medida que estendem a classe Container. Dessa maneira, a hierarquia das classes Swing é seguida. Componentes de nível superior, como JDialog e JFrame, não herdam o JComponent por ser filho do contêiner de nível superior.
Sintaxe:
Não existe essa sintaxe do JComponent em Java. Existe apenas um construtor padrão do JComponent que qualquer classe pode herdar. Abaixo é fornecida a declaração básica do JComponent:
public abstract class JComponent
extends Container
implements Serializable
O JContainer é usado da maneira mencionada abaixo:
public class Myclass extends JComponent(
public void method()
( )
)
Tipos e modificadores usados para JComponent em Java
Abaixo da tabela mostra os tipos e modificadores usados para JComponent em Java:
Modificador ou Tipo | Campo | Descrição |
String estática | TOOL_TIP_TEXT_KEY | Também é conhecido como "dica de valor", "rótulo de passagem" e é usado para exibir quando o cursor está sobre o componente |
estática int | UNDEFINED_CONDITION | Essa constante é basicamente usada por algumas APIs para mencionar as situações em que nenhuma condição é especificada / definida |
estática int | WHEN_FOCUSSED | Essa constante significa que o comando deve ser chamado quando o componente tiver o foco e for basicamente usado para registerKeyboardAction |
estática int | WHEN_ANCESTOR_OF_FOCUSED_COMPONENT | Essa constante é usada na situação do componente focalizado. É usado para registerKeyboardAction, o que significa que o comando será chamado quando ele próprio for um componente focado ou o componente receptor for o ancestral do componente focado. |
estática int | WHEN_IN_FOCUSED_WINDOW | Essa constante é geralmente usada para registerKeyboardAction e significa que o comando será chamado se o componente receptor estiver presente na janela atualmente focada ou se for um componente focado. |
ComponentUI protegido | ui | Este componente é o delegado para a aparência |
eventListenerList protegido | listenerList | Essa classe de componente é usada para armazenar uma lista completa de ouvintes de eventos. |
AccessibleContext protegido | affordableContext | Com este JComponent, AccessibleContext está associado. |
Métodos de JComponent em Java
Abaixo estão alguns dos métodos mais usados do JComponent em Java:
S.no. | Nome do método | Tipo de modificador | Descrição |
1 | setBackground (cor bg) | vazio | Este método é usado para definir o plano de fundo deste componente |
2) | setForeground (Cor fg) | vazio | Este método é usado para definir o primeiro plano deste componente |
3) | setMaximumSize (Dimension maxSize) | vazio | Este método é usado para definir o tamanho máximo desse componente para o tamanho máximo para o valor fornecido. |
4) | setMinimumSize (Dimension minSize) | vazio | Este método é usado para definir o tamanho mínimo deste componente para o valor fornecido. |
5) | addAncestorListener (ouvinte AncestorListener) | vazio | Este método é usado para adicionar um AncestorListener para que ele receba todos os AncestorEvents quando qualquer um de seus Ancestrais for movido ou tornado visível / invisível |
6 | firePropertyChange (String propertyName, boolean oldValue, boolean newValue) | boleano | Este método é usado para relatar uma alteração de propriedade vinculada para propriedades booleanas |
7) | getAccessibleContext () | AccessibleContext | Este método é usado para obter o contexto Acessível associado ao JComponent. |
8) | getAncestorListeners () | AncestorListener () | Este método é usado para retornar uma matriz de todos os ouvintes ancestrais registrados com este componente. |
9 | getToolTipText () | Corda | Este método é usado para retornar a string da dica de ferramenta que foi definida pelo método setToolTipText () |
10) | getWidth () | int | Este método é usado para obter a largura atual do componente. |
11) | getTopLevelAncestor () | Recipiente | Este método retorna o ancestral de nível superior deste componente. Se o componente ainda não foi adicionado a nenhum contêiner, ele retornará nulo. |
12) | isRequestFocusEnabled () | boleano | Esse método retorna true se esse Jcomponent deve obter foco e false, se não. |
13) | processMouseEvent (MouseEvent e) | vazio protegido | Este método processa quaisquer eventos de mouse que ocorram nesse componente, despachando-os para qualquer objeto MouseListener registrado. |
14) | isLightweightComponent (Componente c) | booleano estático | Este método retorna true se este componente é um componente leve e false se não. |
15 | getActionForKeyStroke (KeyStroke, keystroke) | ActionListener | Esse método basicamente retorna o objeto que executará a ação para o pressionamento de tecla especificado. |
16 | getAccessibleContext () | AccessibleContext | Este método é usado para obter o contexto acessível associado a este JComponent |
17 | getBorder () | Fronteira | Este método retorna a borda deste componente e é nulo se não houver borda, configure o componente |
Programa para implementar o JComponent em Java:
O programa abaixo implementa o JComponent em Java:
Código:
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);
)
)
Saída: A execução do programa acima resulta na saída mencionada abaixo.
Conclusão
A descrição acima do JComponent explica claramente o que o JComponent e os vários métodos e modificadores usados no JComponent. O JComponent é um dos tópicos mais importantes quando se trata de trabalhar com gráficos. Como existem muitos métodos usados pelo JComponent usados para diferentes propósitos. Portanto, antes de usá-los, deve ser entendido completamente pelo programador.
Artigos recomendados
Este é um guia para o JComponent em Java. Aqui discutimos tipos e métodos modificados, e implementação de programa do JComponent em Java. Você também pode consultar nossos outros artigos relacionados para saber mais.
- JTextField em Java
- Diagrama de componente UML
- Componentes do Hadoop
- JDialog em Java
- Guia completo para JFrame em Java
- JTable em Java | Construtores, Métodos em Java