Swing es parte de JFC (Java Foundation Classes) . La creación de una interfaz gráfica de usuario en Java requiere el uso de Swings. Swing Framework contiene un gran conjunto de componentes que permiten un alto nivel de personalización y proporcionan ricas funcionalidades y se utilizan para crear aplicaciones basadas en ventanas.
Los componentes swing de Java son livianos, independientes de la plataforma, brindan componentes poderosos como tablas, paneles de desplazamiento, botones, listas, selector de color, etc. En este artículo, veremos cómo crear marcos usando Swings en Java. Maneras de crear un marco:
Métodos:
- Al crear el objeto de la clase Frame (asociación)
- Extendiendo la clase Frame (herencia)
- Crea un marco usando Swing dentro de main()
Forma 1: creando el objeto de la clase Frame (asociación)
En esto, veremos cómo crear una ventana JFrame instanciando la clase JFrame.
Ejemplo:
Java
// Java program to create frames // using association import javax.swing.*; public class test1 { JFrame frame; test1() { // creating instance of JFrame with name "first way" frame=new JFrame("first way"); // creates instance of JButton JButton button = new JButton("let's see"); button.setBounds(200, 150, 90, 50); // setting close operation frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // adds button in JFrame frame.add(button); // sets 500 width and 600 height frame.setSize(500, 600); // uses no layout managers frame.setLayout(null); // makes the frame visible frame.setVisible(true); } public static void main(String[] args) { new test1(); } }
Vía 2: extendiendo la clase Frame (herencia)
En este ejemplo, heredaremos la clase JFrame para crear una ventana JFrame y, por lo tanto, no será necesario crear una instancia de la clase JFrame explícitamente.
Ejemplo:
Java
// Java program to create a // frame using inheritance(). import javax.swing.*; // inheriting JFrame public class test2 extends JFrame { JFrame frame; test2() { setTitle("this is also a title"); // create button JButton button = new JButton("click"); button.setBounds(165, 135, 115, 55); // adding button on frame add(button); // setting close operation setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 500); setLayout(null); setVisible(true); } public static void main(String[] args) { new test2(); } }
Producción:
Nota: no podrá ejecutar este código en un compilador en línea, por lo que he agregado una imagen para mostrarle el resultado.
Forma 3: Crea un marco usando Swing dentro de main()
Ejemplo 1:
Java
// Java program to create a frame // using Swings in main(). import javax.swing.*; public class Swing_example { public static void main(String[] args) { // creates instance of JFrame JFrame frame1 = new JFrame(); // creates instance of JButton JButton button1 = new JButton("click"); JButton button2 = new JButton("again click"); // x axis, y axis, width, height button1.setBounds(160, 150 ,80, 80); button2.setBounds(190, 190, 100, 200); // adds button1 in Frame1 frame1.add(button1); // adds button2 in Frame1 frame1.add(button2); // 400 width and 500 height of frame1 frame1.setSize(400, 500) ; // uses no layout managers frame1.setLayout(null); // makes the frame visible frame1.setVisible(true); } }
Producción:
Nota: no podrá ejecutar este código en el compilador en línea, por lo que he agregado una imagen para mostrarle el resultado.
Ejemplo 2:
Java
// Java program to create a frame // using Swings in main(). import javax.swing.*; public class Swing_example_2 { public static void main(String[] args) { // creates instance of JFrame JFrame frame1 = new JFrame(); // creates instance of JButton JButton button1 = new JButton("button1"); // "button2" appears on the button JButton button2 = new JButton("button2"); // x axis, y axis, width, height button1.setBounds(180, 50, 80, 80); button2.setBounds(180, 140, 80, 80); //adds button1 in Frame1 frame1.add(button1); //adds button2 in Frame1 frame1.add(button2); //400 width and 500 height of frame1 frame1.setSize(500, 300) ; //uses no layout managers frame1.setLayout(null); //makes the frame visible frame1.setVisible(true); } }
Producción:
Nota: no podrá ejecutar este código en un compilador en línea, por lo que he agregado una imagen para mostrarle el resultado.
Este artículo es una contribución de Shitij Chawla . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA