Introducción a JFrame en Java

JFrame es una clase de Java que se extiende por la clase Frame de Java. JFrame se trata como la ventana principal. En JFrame se pueden agregar diferentes elementos como etiquetas, campos de texto, botones. Estos elementos en JFrame crean una interfaz gráfica de usuario.

JFrame también se conoce como contenedor de nivel superior Swing. Swing se refiere al kit de herramientas del widget GUI para crear aplicaciones en JAVA. El columpio es ligero y la placa es independiente. La clase JFrame en la aplicación se puede crear de la siguiente manera

JFrame de clase pública extiende Implementos de marco WindowConstants, Accessible, RootPaneContainer

JFrame Constructor

JFrame Constructor y sus descripciones se dan a continuación.

  1. JFrame () - JFrame () es un constructor de clase JFrame que crea un nuevo Frame. Por defecto, permanece invisible.
  2. JFrame (Título de cadena, GraphicsConfiguration gc) : este constructor crea un JFrame en la configuración gráfica especificada y con el título especificado como parámetro.
  3. JFrame (GraphicsConfiguration gc) : este constructor crea un JFrame en la configuración gráfica especificada tal como está en el parámetro.
  4. JFrame (Título de cadena) : este constructor crea un JFrame con el título especificado como en el parámetro.

Métodos JFrame

La clase JFrame proporciona algunos métodos que juegan un papel importante en el trabajo con JFrame.

1. AccessibleContext getAccessibleContext (): este método obtiene el contexto accesible que permanece asociado con el JFrame.

2. Contenedor getContentPane (): este método crea el objeto contentPane de JFrame.

3. Componente getGlassPane (): este método crea el objeto glassPane para JFrame.

4. int getDefaultCloseOperation (): cuando el usuario hace clic en el botón de cierre en este Marco, este método devuelve la operación.

5. JMenuBar getJMenuBar (): conjunto de barra de menús creado en el marco mediante este método.

6. JLayeredPane getLayeredPane (): este método devuelve el objeto LayeredPane.

7. JRootPane getRootPane (): este método devuelve el objeto rootPane.

Los métodos dados a continuación (8-15) modificador de acceso "protegido" deben agregarse al comienzo del método -

8. addImpl (Comp componente, restricciones de objeto, índice int): este método agrega el elemento secundario especificado para este marco.

9. JRootPane createRootPane () - Crea el rootPane predeterminado y lo llama el constructor.

10. void frameInit (): el constructor lo llama para inicializar el JFrame.

11. boolean isRootPaneCheckingEnabled (): este método valida las llamadas para agregar y establecerLayout a contentPane o no.

12. String paramString (): este método devuelve JFrame en forma de String.

13. void processWindowEvent (WindowEvent e): este método procesa el evento de ventana ocurrido en el componente de ventana.

14. void setRootPane (raíz de JRootPane): este método establece la propiedad rootPane.

15. void setRootPaneCheckingEnabled (boolean habilitado): este establece las llamadas para agregar y setLayout se reenvían al contentPane o no.

16. static boolean isDefaultLookAndFeelDecorated (): si los JFrames recién creados tienen sus decoraciones de ventana según lo dispuesto por el aspecto actual, este método devuelve verdadero.

17. TransferHandler getTransferHandler (): este método obtiene la propiedad transferHandler.

18. void remove (Component comp): para eliminar el componente específico del contenedor JFrame podemos usar este método.

19. repintado nulo (largo tiempo, int x, int y, int ancho, int alto): este método se utiliza para repintar el rectángulo específico dentro del componente en pocos milisegundos.

20. void setContentPane (Container contentPane): este método establece la propiedad del contentPane.

21. void setDefaultCloseOperation (operación int) - Operación predeterminada establecida por este método que ocurrirá cuando el usuario inicie la operación de cierre para un Marco.

22. void setGlassPane (Component glassPane): la propiedad glassPane se puede establecer mediante este método.

23. void setIconImage (Image img): el icono para el marco de la ventana se puede establecer mediante este método.

24. void setJMenuBar (barra de menú de JMenuBar) - La barra de menú para JFrame se puede configurar mediante este método.

25. void setLayeredPane (JLayeredPane jlPane): la propiedad LayeredPane se establece mediante este método.

26. void setLayout (administrador de LayoutManager): LayoutManager se crea mediante este método.

27. void setTransferHandler (TransferHandler newHandler): este establece la propiedad relacionada con transferHandler. Este crea un mecanismo para admitir la transferencia de datos para el componente.

28. actualización nula (Gráficos g): esta llama a la pintura para colorear los marcos y elementos

Ejemplos de JFrame en Java

Aquí están los siguientes ejemplos mencionados a continuación

Ejemplo 1

Por favor vea el ejemplo a continuación

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();
)
)

En el ejemplo anterior, la biblioteca swing se importa para incluir diferentes clases para trabajar con el marco y los eventos. En la siguiente captura de pantalla, se crea un marco utilizando las clases JFrame de la biblioteca swing.

Ejemplo # 2

En este ejemplo, utilizando múltiples métodos de clases JFrame, Layout & Events para crear formularios dentro del marco.

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);
)
)

En el ejemplo anterior, se crea un marco de ventana usando JFrame. & creando elementos usando los métodos de clase JPanel (). Se están utilizando otras bibliotecas para maquetación y eventos. La siguiente es la captura de pantalla adjunta después de compilar y ejecutar el código Java.

Conclusión: JFrame en Java

JFrame es la clase del paquete swing que se usa principalmente para crear JFrame. Podemos decir que la ventana JFrame se puede crear instanciando la clase JFrame. La mayoría de las nuevas bases de código Java GUI están utilizando JavaFX, que es el reemplazo de swing en la última versión de Java. En los próximos días, los programadores se están mudando a JavaFX debido a la última versión de las bibliotecas Java y las características extendidas.

Artículos recomendados

Esta es una guía de JFrame en Java. Aquí discutimos los Constructores y Métodos de JFrame junto con los ejemplos. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. Matrices 3D en Java
  2. JScrollPane en Java
  3. JDialog en Java
  4. JTextField en Java
  5. Matrices 3D en C ++
  6. Diseños JavaFX
  7. JLabel en Java
  8. Flowlayout en Java
  9. Tipos y cómo crear gráficos JavaFx?
  10. ¿Cómo ingresar texto en JavaFX TextField?
  11. Los 15 métodos principales de HBox en JavaFX
  12. Guía completa de JLayeredPane con ejemplos