Introdução ao JFrame em Java

JFrame é uma classe java que é estendida pela classe Frame de Java. O JFrame é tratado como a janela principal. No JFrame, diferentes elementos, como rótulos, campos de texto e botões, podem ser adicionados. Esses elementos no JFrame criam a interface gráfica do usuário.

O JFrame também é conhecido como contêiner de nível superior Swing. Swing refere-se ao kit de ferramentas do widget da GUI para criar aplicativos em JAVA. O balanço é leve e independente da forma da placa. A classe JFrame no aplicativo pode ser criada da seguinte maneira

classe pública JFrame estende Frame implementa WindowConstants, Accessible, RootPaneContainer

Construtor JFrame

O JFrame Constructor e suas descrições são fornecidos abaixo.

  1. JFrame () - JFrame () é um construtor de classe JFrame que cria um novo quadro. Por padrão, ele permanece invisível.
  2. JFrame (Título da string, GraphicsConfiguration gc) - Este construtor cria um JFrame na configuração gráfica especificada e com o título especificado como no parâmetro.
  3. JFrame (GraphicsConfiguration gc) - Este construtor cria um JFrame na configuração gráfica especificada, como no parâmetro.
  4. JFrame (String title) - Este construtor cria um JFrame com o título especificado como no parâmetro.

Métodos JFrame

A classe JFrame fornece alguns métodos que desempenham um papel importante no trabalho com o JFrame.

1. AccessibleContext getAccessibleContext () - este método obtém o contexto acessível que permanece associado ao JFrame.

2. Container getContentPane () - Este método cria o objeto contentPane do JFrame.

3. Componente getGlassPane () - Este método cria o objeto glassPane para JFrame.

4. int getDefaultCloseOperation () - Quando o usuário clica no botão Fechar neste quadro, esse método retorna a operação.

5. JMenuBar getJMenuBar () - conjunto de barra de menus criado no Frame usando este método.

6. JLayeredPane getLayeredPane () - o objeto LayeredPane é retornado por esse método.

7. JRootPane getRootPane () - o objeto rootPane é retornado por esse método.

Os métodos abaixo indicados (8 - 15) precisam ser adicionados ao modificador de acesso "protegido" no início do método -

8. addImpl (Comp componente, restrições de objeto, índice int) - Este método adiciona o elemento filho especificado para esse quadro.

9. JRootPane createRootPane () - Crie o rootPane padrão e chamado pelo construtor.

10. void frameInit () - É chamado pelo construtor para inicializar o JFrame.

11. boolean isRootPaneCheckingEnabled () - chamadas para adicionar & setLayout são encaminhadas para contentPane ou não são validadas por esse método

12. String paramString () - Este método retorna JFrame na forma de String.

13. void processWindowEvent (WindowEvent e) - Este método processa o evento da janela ocorrido no componente da janela.

14. void setRootPane (JRootPane root) - Este método define a propriedade rootPane.

15. void setRootPaneCheckingEnabled (ativado por booleano) - Este define as chamadas para adicionar e setLayout são encaminhadas para o contentPane ou não.

16. estático booleano isDefaultLookAndFeelDecorated () - Se os recém-criados JFrames tiverem suas decorações de Janela conforme fornecidas pela aparência atual, esse método retornará verdadeiro.

17. TransferHandler getTransferHandler () - Este método obtém a propriedade transferHandler.

18. void remove (Component comp) - Para remover o componente específico do contêiner JFrame, podemos usar este método.

19. repaint void (longo tempo, int x, int y, int largura, int altura) - Este método é usado para redesenhar o retângulo específico dentro do componente em poucos milissegundos.

20. void setContentPane (Container contentPane) - A propriedade do contentPane é definida por esse método.

21. void setDefaultCloseOperation (int operation) - Operação padrão definida por este método, que ocorrerá quando o usuário iniciar a operação de fechamento de um Frame.

22. void setGlassPane (Component glassPane) - a propriedade glassPane pode ser definida usando esse método.

23. void setIconImage (Image img) - O ícone da moldura da janela pode ser definido usando este método.

24. void setJMenuBar (barra de menus JMenuBar) - a barra de menus para JFrame pode ser configurada usando este método.

25. void setLayeredPane (JLayeredPane jlPane) - a propriedade LayeredPane é definida por esse método.

26. void setLayout (gerenciador do LayoutManager) - o LayoutManager é criado usando este método.

27. void setTransferHandler (TransferHandler newHandler) - Este define a propriedade relacionada ao transferHandler. Este cria um mecanismo para suportar a transferência de dados para o componente.

28. atualização nula (Gráficos g) - Este chama a tinta para colorir as molduras e elementos

Exemplos de JFrame em Java

Aqui estão os seguintes exemplos mencionados abaixo

Exemplo 1

Por favor, veja o exemplo abaixo

import javax.swing.*;
public class demoJFrame extends JFrame(
JFrame frame;
demoJFrame()(
setTitle("A Sample JFrame Window");
JButton button = new JButton("click");
button.setBounds(100, 100, 115, 55);
add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLayout(null);
setVisible(true);
)
public static void main(String() args)(
new demoJFrame();
)
)

No exemplo acima, a biblioteca swing é importada para incluir diferentes classes para trabalhar com o Frame & events. Na captura de tela abaixo, um quadro é criado usando as classes JFrame da biblioteca swing.

Exemplo 2

Neste exemplo, usando vários métodos das classes JFrame, Layout & Events para criar formulários dentro do quadro.

import javax.swing.*;
import java.awt.event.*;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
public class JFrameDemo(
public static void main(String() args)(
// Create frame with title Registration Demo
JFrame frame= new JFrame();
frame.setTitle("JFrame Based Contact Form");
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
JPanel headingPanel = new JPanel();
JLabel headingLabel = new JLabel("Contact Us Panel");
headingPanel.add(headingLabel);
JPanel panel = new JPanel(new GridBagLayout());
// Constraints for the layout
GridBagConstraints constr = new GridBagConstraints();
constr.insets = new Insets(5, 5, 5, 5);
constr.anchor = GridBagConstraints.WEST;
// Setting initial grid values to 0, 0
constr.gridx=0;
constr.gridy=0;
JLabel nameLabel = new JLabel("Enter your name :");
JLabel emailLabel = new JLabel("Enter your email :");
JLabel phoneLabel = new JLabel("Enter your phone :");
JLabel msgLabel = new JLabel("Message :");
JTextField nameInput = new JTextField(20);
JTextField emailInput = new JTextField(20);
JTextField phoneInput = new JTextField(20);
JTextArea textArea = new JTextArea(5, 20);
panel.add(nameLabel, constr);
constr.gridx=1;
panel.add(nameInput, constr);
constr.gridx=0; constr.gridy=1;
panel.add(emailLabel, constr);
constr.gridx=1;
panel.add(emailInput, constr);
constr.gridx=0; constr.gridy=2;
panel.add(phoneLabel, constr);
constr.gridx=1;
panel.add(phoneInput, constr);
constr.gridx=0; constr.gridy=3;
panel.add(msgLabel, constr);
constr.gridx=1;
panel.add(textArea, constr);
constr.gridx=0; constr.gridy=4;
constr.gridwidth = 2;
constr.anchor = GridBagConstraints.CENTER;
// Button with text "Register"
JButton button = new JButton("Submit");
// add a listener to button
button.addActionListener(new ActionListener()
(
public void actionPerformed(ActionEvent e)
(
headingLabel.setText("Thanks for Contacting us. We'll get back to you shortly.");
nameInput.setText("");
emailInput.setText("");
phoneInput.setText("");
textArea.setText("");
)
));
panel.add(button, constr);
mainPanel.add(headingPanel);
mainPanel.add(panel);
frame.add(mainPanel);
frame.pack();
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
)
)

No exemplo acima, um quadro de janela é criado usando o JFrame. & criando elementos usando os métodos da classe JPanel (). outras bibliotecas estão sendo usadas para layout e eventos. A seguir, a captura de tela anexada após a compilação e execução do código Java.

Conclusão - JFrame em Java

JFrame é a classe do pacote swing que é usada principalmente para criar o JFrame. Podemos dizer que a janela do JFrame pode ser criada instanciando a classe JFrame. A maioria das novas bases de código Java da GUI está usando JavaFX, que é a substituição do swing na versão mais recente do Java. Nos próximos dias, os programadores estão migrando para o JavaFX devido à versão mais recente das bibliotecas Java e aos recursos estendidos.

Artigos recomendados

Este é um guia para o JFrame em Java. Aqui discutimos os construtores e métodos do JFrame, juntamente com os exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. Matrizes 3D em Java
  2. JScrollPane em Java
  3. JDialog em Java
  4. JTextField em Java
  5. Matrizes 3D em C ++
  6. Layouts JavaFX
  7. JLabel em Java
  8. Flowlayout em Java
  9. Tipos e como criar gráficos JavaFx?
  10. Como inserir texto no JavaFX TextField?
  11. Os 15 principais métodos de HBox no JavaFX
  12. Guia completo do JLayeredPane com exemplos