[{"data":1,"prerenderedAt":987},["ShallowReactive",2],{"navigation_docs":3,"-archivos-ui-swing":412,"-archivos-ui-swing-surround":982},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":237,"body":414,"description":976,"extension":977,"links":978,"meta":979,"navigation":574,"path":238,"seo":980,"stem":239,"__hash__":981},"docs\u002F7.archivos-ui\u002F01.swing.md",{"type":415,"value":416,"toc":969},"minimark",[417,422,426,430,459,463,519,523,955,958,962,965],[418,419,421],"h2",{"id":420},"qué-es-swing","¿Qué es Swing?",[423,424,425],"p",{},"Swing es un conjunto de bibliotecas de Java que proporciona una amplia gama de componentes gráficos para crear interfaces de usuario (UI) en aplicaciones Java. Swing es parte del Java Foundation Classes (JFC) y se utiliza para desarrollar aplicaciones de escritorio con interfaces gráficas ricas y personalizables. Swing ofrece una gran variedad de componentes, como botones, etiquetas, cuadros de texto, tablas, menús, y mucho más, que permiten a los desarrolladores crear interfaces de usuario atractivas y funcionales.",[418,427,429],{"id":428},"características-de-swing","Características de Swing",[431,432,433,441,447,453],"ul",{},[434,435,436,440],"li",{},[437,438,439],"strong",{},"Independencia de la plataforma",": Swing es completamente independiente de la plataforma, lo que significa que las aplicaciones Swing pueden ejecutarse en cualquier sistema operativo que tenga una máquina virtual Java (JVM) instalada.",[434,442,443,446],{},[437,444,445],{},"Componentes personalizables",": Swing permite a los desarrolladores personalizar la apariencia y el comportamiento de los componentes gráficos, lo que facilita la creación de interfaces de usuario únicas y adaptadas a las necesidades específicas de la aplicación.",[434,448,449,452],{},[437,450,451],{},"Eventos y manejo de eventos",": Swing proporciona un sistema de eventos robusto que permite a los desarrolladores manejar las interacciones del usuario de manera eficiente, como clics de botones, movimientos del mouse, y entradas de teclado.",[434,454,455,458],{},[437,456,457],{},"Soporte para gráficos",": Swing incluye clases para dibujar gráficos personalizados, lo que permite a los desarrolladores crear interfaces de usuario visualmente atractivas y dinámicas.",[418,460,462],{"id":461},"componentes-básicos-de-swing","Componentes básicos de Swing",[431,464,465,471,477,483,489,495,501,507,513],{},[434,466,467,470],{},[437,468,469],{},"JFrame",": Es la ventana principal de una aplicación Swing. Es el contenedor raíz que contiene todos los demás componentes.",[434,472,473,476],{},[437,474,475],{},"JPanel",": Es un contenedor que se utiliza para organizar otros componentes dentro de un JFrame. Se pueden usar para agrupar componentes relacionados y aplicar diferentes diseños.",[434,478,479,482],{},[437,480,481],{},"JButton",": Es un botón que el usuario puede hacer clic para realizar una acción.",[434,484,485,488],{},[437,486,487],{},"JLabel",": Es una etiqueta que se utiliza para mostrar texto o imágenes en la interfaz de usuario.",[434,490,491,494],{},[437,492,493],{},"JTextField",": Es un campo de texto que permite al usuario ingresar información.",[434,496,497,500],{},[437,498,499],{},"JTextArea",": Es un área de texto que permite al usuario ingresar o mostrar texto de varias líneas.",[434,502,503,506],{},[437,504,505],{},"JComboBox",": Es un cuadro combinado que permite al usuario seleccionar una opción de una lista desplegable.",[434,508,509,512],{},[437,510,511],{},"JCheckBox",": Es una casilla de verificación que permite al usuario seleccionar o deseleccionar una opción.",[434,514,515,518],{},[437,516,517],{},"JRadioButton",": Es un botón de opción que permite al usuario seleccionar una opción de un grupo de opciones mutuamente excluyentes.",[418,520,522],{"id":521},"ejemplo-básico-de-swing","Ejemplo básico de Swing",[524,525,530],"pre",{"className":526,"code":527,"language":528,"meta":529,"style":529},"language-java shiki shiki-themes github-dark","import javax.swing.*;\nimport java.awt.event.ActionEvent;\nimport java.awt.event.ActionListener;\n\npublic class SwingExample {\n    public static void main(String[] args) {\n        \u002F\u002F Crear un JFrame\n        JFrame frame = new JFrame(\"Ejemplo de Swing\");\n        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n        frame.setSize(400, 300);\n\n        \u002F\u002F Crear un JPanel\n        JPanel panel = new JPanel();\n\n        \u002F\u002F Crear un JLabel\n        JLabel label = new JLabel(\"¡Hola, Swing!\");\n\n        \u002F\u002F Crear un JButton\n        JButton button = new JButton(\"Haz clic aquí\");\n\n        \u002F\u002F Agregar un ActionListener al botón\n        button.addActionListener(new ActionListener() {\n            @Override\n            public void actionPerformed(ActionEvent e) {\n                label.setText(\"¡Has hecho clic en el botón!\");\n            }\n        });\n\n        \u002F\u002F Agregar componentes al panel\n        panel.add(label);\n        panel.add(button);\n\n        \u002F\u002F Agregar el panel al frame\n        frame.add(panel);\n\n        \u002F\u002F Hacer visible el frame\n        frame.setVisible(true);\n    }\n}\n","java","",[531,532,533,553,561,569,576,592,623,630,654,666,687,692,698,714,719,725,745,750,756,776,781,787,807,816,835,851,857,863,868,874,886,896,901,907,917,922,928,943,949],"code",{"__ignoreMap":529},[534,535,538,542,546,550],"span",{"class":536,"line":537},"line",1,[534,539,541],{"class":540},"snl16","import",[534,543,545],{"class":544},"s95oV"," javax.swing.",[534,547,549],{"class":548},"sDLfK","*",[534,551,552],{"class":544},";\n",[534,554,556,558],{"class":536,"line":555},2,[534,557,541],{"class":540},[534,559,560],{"class":544}," java.awt.event.ActionEvent;\n",[534,562,564,566],{"class":536,"line":563},3,[534,565,541],{"class":540},[534,567,568],{"class":544}," java.awt.event.ActionListener;\n",[534,570,572],{"class":536,"line":571},4,[534,573,575],{"emptyLinePlaceholder":574},true,"\n",[534,577,579,582,585,589],{"class":536,"line":578},5,[534,580,581],{"class":540},"public",[534,583,584],{"class":540}," class",[534,586,588],{"class":587},"svObZ"," SwingExample",[534,590,591],{"class":544}," {\n",[534,593,595,598,601,604,607,610,613,616,620],{"class":536,"line":594},6,[534,596,597],{"class":540},"    public",[534,599,600],{"class":540}," static",[534,602,603],{"class":540}," void",[534,605,606],{"class":587}," main",[534,608,609],{"class":544},"(",[534,611,612],{"class":540},"String",[534,614,615],{"class":544},"[] ",[534,617,619],{"class":618},"s9osk","args",[534,621,622],{"class":544},") {\n",[534,624,626],{"class":536,"line":625},7,[534,627,629],{"class":628},"sAwPA","        \u002F\u002F Crear un JFrame\n",[534,631,633,636,639,642,645,647,651],{"class":536,"line":632},8,[534,634,635],{"class":544},"        JFrame frame ",[534,637,638],{"class":540},"=",[534,640,641],{"class":540}," new",[534,643,644],{"class":587}," JFrame",[534,646,609],{"class":544},[534,648,650],{"class":649},"sU2Wk","\"Ejemplo de Swing\"",[534,652,653],{"class":544},");\n",[534,655,657,660,663],{"class":536,"line":656},9,[534,658,659],{"class":544},"        frame.",[534,661,662],{"class":587},"setDefaultCloseOperation",[534,664,665],{"class":544},"(JFrame.EXIT_ON_CLOSE);\n",[534,667,669,671,674,676,679,682,685],{"class":536,"line":668},10,[534,670,659],{"class":544},[534,672,673],{"class":587},"setSize",[534,675,609],{"class":544},[534,677,678],{"class":548},"400",[534,680,681],{"class":544},", ",[534,683,684],{"class":548},"300",[534,686,653],{"class":544},[534,688,690],{"class":536,"line":689},11,[534,691,575],{"emptyLinePlaceholder":574},[534,693,695],{"class":536,"line":694},12,[534,696,697],{"class":628},"        \u002F\u002F Crear un JPanel\n",[534,699,701,704,706,708,711],{"class":536,"line":700},13,[534,702,703],{"class":544},"        JPanel panel ",[534,705,638],{"class":540},[534,707,641],{"class":540},[534,709,710],{"class":587}," JPanel",[534,712,713],{"class":544},"();\n",[534,715,717],{"class":536,"line":716},14,[534,718,575],{"emptyLinePlaceholder":574},[534,720,722],{"class":536,"line":721},15,[534,723,724],{"class":628},"        \u002F\u002F Crear un JLabel\n",[534,726,728,731,733,735,738,740,743],{"class":536,"line":727},16,[534,729,730],{"class":544},"        JLabel label ",[534,732,638],{"class":540},[534,734,641],{"class":540},[534,736,737],{"class":587}," JLabel",[534,739,609],{"class":544},[534,741,742],{"class":649},"\"¡Hola, Swing!\"",[534,744,653],{"class":544},[534,746,748],{"class":536,"line":747},17,[534,749,575],{"emptyLinePlaceholder":574},[534,751,753],{"class":536,"line":752},18,[534,754,755],{"class":628},"        \u002F\u002F Crear un JButton\n",[534,757,759,762,764,766,769,771,774],{"class":536,"line":758},19,[534,760,761],{"class":544},"        JButton button ",[534,763,638],{"class":540},[534,765,641],{"class":540},[534,767,768],{"class":587}," JButton",[534,770,609],{"class":544},[534,772,773],{"class":649},"\"Haz clic aquí\"",[534,775,653],{"class":544},[534,777,779],{"class":536,"line":778},20,[534,780,575],{"emptyLinePlaceholder":574},[534,782,784],{"class":536,"line":783},21,[534,785,786],{"class":628},"        \u002F\u002F Agregar un ActionListener al botón\n",[534,788,790,793,796,798,801,804],{"class":536,"line":789},22,[534,791,792],{"class":544},"        button.",[534,794,795],{"class":587},"addActionListener",[534,797,609],{"class":544},[534,799,800],{"class":540},"new",[534,802,803],{"class":587}," ActionListener",[534,805,806],{"class":544},"() {\n",[534,808,810,813],{"class":536,"line":809},23,[534,811,812],{"class":544},"            @",[534,814,815],{"class":540},"Override\n",[534,817,819,822,824,827,830,833],{"class":536,"line":818},24,[534,820,821],{"class":540},"            public",[534,823,603],{"class":540},[534,825,826],{"class":587}," actionPerformed",[534,828,829],{"class":544},"(ActionEvent ",[534,831,832],{"class":618},"e",[534,834,622],{"class":544},[534,836,838,841,844,846,849],{"class":536,"line":837},25,[534,839,840],{"class":544},"                label.",[534,842,843],{"class":587},"setText",[534,845,609],{"class":544},[534,847,848],{"class":649},"\"¡Has hecho clic en el botón!\"",[534,850,653],{"class":544},[534,852,854],{"class":536,"line":853},26,[534,855,856],{"class":544},"            }\n",[534,858,860],{"class":536,"line":859},27,[534,861,862],{"class":544},"        });\n",[534,864,866],{"class":536,"line":865},28,[534,867,575],{"emptyLinePlaceholder":574},[534,869,871],{"class":536,"line":870},29,[534,872,873],{"class":628},"        \u002F\u002F Agregar componentes al panel\n",[534,875,877,880,883],{"class":536,"line":876},30,[534,878,879],{"class":544},"        panel.",[534,881,882],{"class":587},"add",[534,884,885],{"class":544},"(label);\n",[534,887,889,891,893],{"class":536,"line":888},31,[534,890,879],{"class":544},[534,892,882],{"class":587},[534,894,895],{"class":544},"(button);\n",[534,897,899],{"class":536,"line":898},32,[534,900,575],{"emptyLinePlaceholder":574},[534,902,904],{"class":536,"line":903},33,[534,905,906],{"class":628},"        \u002F\u002F Agregar el panel al frame\n",[534,908,910,912,914],{"class":536,"line":909},34,[534,911,659],{"class":544},[534,913,882],{"class":587},[534,915,916],{"class":544},"(panel);\n",[534,918,920],{"class":536,"line":919},35,[534,921,575],{"emptyLinePlaceholder":574},[534,923,925],{"class":536,"line":924},36,[534,926,927],{"class":628},"        \u002F\u002F Hacer visible el frame\n",[534,929,931,933,936,938,941],{"class":536,"line":930},37,[534,932,659],{"class":544},[534,934,935],{"class":587},"setVisible",[534,937,609],{"class":544},[534,939,940],{"class":548},"true",[534,942,653],{"class":544},[534,944,946],{"class":536,"line":945},38,[534,947,948],{"class":544},"    }\n",[534,950,952],{"class":536,"line":951},39,[534,953,954],{"class":544},"}\n",[423,956,957],{},"En este ejemplo, se crea una ventana con un botón y una etiqueta. Cuando el usuario hace clic en el botón, el texto de la etiqueta cambia para mostrar un mensaje diferente. Este es un ejemplo básico de cómo usar Swing para crear una interfaz gráfica simple en Java.",[418,959,961],{"id":960},"conclusión","Conclusión",[423,963,964],{},"Swing es una herramienta poderosa para crear interfaces gráficas en Java, ofreciendo una amplia variedad de componentes y opciones de personalización. Con Swing, los desarrolladores pueden crear aplicaciones de escritorio atractivas y funcionales que se ejecutan en cualquier plataforma compatible con Java. En las próximas secciones, exploraremos más componentes de Swing y cómo utilizarlos para construir interfaces de usuario más complejas y dinámicas.",[966,967,968],"style",{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":529,"searchDepth":555,"depth":555,"links":970},[971,972,973,974,975],{"id":420,"depth":555,"text":421},{"id":428,"depth":555,"text":429},{"id":461,"depth":555,"text":462},{"id":521,"depth":555,"text":522},{"id":960,"depth":555,"text":961},"Introducción al paquete Swing para la creación de interfaces gráficas en Java.","md",null,{"editButton":42},{"title":237,"description":976},"tYrXMR6qA46F_48WVZEnbyVsJ-rTEdGKYcQFTUqChsk",[983,985],{"title":228,"path":229,"stem":230,"description":984,"children":-1},"Descubre la clase Stream en Java, una herramienta poderosa para procesar colecciones de datos de manera eficiente y funcional. Aprende a utilizar Stream para realizar operaciones como filtrado, mapeo, reducción y más, facilitando el manejo de datos en tus aplicaciones Java.",{"title":241,"path":242,"stem":243,"description":986,"children":-1},"Introducción a la clase JFrame y JPanel en Swing para crear interfaces gráficas en Java.",1779479571796]