<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>#java #programacion #orientada #objetos #GUI archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/java-programacion-orientada-objetos-gui/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/java-programacion-orientada-objetos-gui/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Wed, 30 Apr 2025 00:27:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>#java #programacion #orientada #objetos #GUI archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/java-programacion-orientada-objetos-gui/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>El inventario perdido</title>
		<link>https://www.frexus.dev/post/el-inventario-perdido/</link>
					<comments>https://www.frexus.dev/post/el-inventario-perdido/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Wed, 30 Apr 2025 00:27:00 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[#java #programacion #orientada #objetos #GUI]]></category>
		<category><![CDATA[ejercicio]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=3465</guid>

					<description><![CDATA[<p>En este post se describe las características que debe de tener la solución de El inventario perdido que se describe aquí. Lo siguiente te brindará una idea más clara de como obtener un resultado óptimo Objetivo del ejercicio Desarrollar una interfaz gráfica que permita a Don Artemio gestionar su inventario de herramientas, usando arreglos (o listas) para almacenar los datos y operaciones básicas para consultar y modificar la información. Requisitos técnicos Diseño de interfaz Manejo de datos Extras opcionales (para alumnos avanzados) Recomendaciones para la solución Cada herramienta debe contener Visualizar el inventario completo Buscar herramientas Actualizar cantidad Generar resumen del inventario La solución debe preferentemente: Criterios a evaluar Criterio Puntos Funcionalidad completa 40 Claridad y usabilidad de la interfaz 20 Lógica en el manejo de arreglos 15 Eficiencia en búsquedas y actualizaciones 10 Diseño visual atractivo y accesible 10 Comentarios y buenas prácticas 5 Tabla 1. Criterios de evaluación del ejercicios recomendados. Fuente: Creación propia. Extra (bono creativo) Esperando que puedas divertirte con la solución de este ejercicio.</p>
<p>La entrada <a href="https://www.frexus.dev/post/el-inventario-perdido/">El inventario perdido</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="683" height="1024" src="https://www.frexus.dev/wp-content/uploads/2025/04/inventario_perdido-683x1024.png" alt="" class="wp-image-3466" style="width:692px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2025/04/inventario_perdido-683x1024.png 683w, https://www.frexus.dev/wp-content/uploads/2025/04/inventario_perdido-200x300.png 200w, https://www.frexus.dev/wp-content/uploads/2025/04/inventario_perdido-768x1152.png 768w, https://www.frexus.dev/wp-content/uploads/2025/04/inventario_perdido.png 1024w" sizes="(max-width: 683px) 100vw, 683px" /></figure>
</div>


<p>En este post se describe las características que debe de tener la solución de <em>El inventario perdido</em> que se describe <a href="https://mirror.xyz/0xC0aA599b2bC4f72854E056b6E9A809764371ff3a/3e4-cN2FJvoLDgsTJ2ejxull1Vdegqp1MZvaKsWA65c?referrerAddress=0xC0aA599b2bC4f72854E056b6E9A809764371ff3a" target="_blank" rel="noreferrer noopener">aquí</a>. Lo siguiente te brindará una idea más clara de como obtener un resultado óptimo</p>



<h2 class="wp-block-heading">Objetivo del ejercicio</h2>



<p>Desarrollar una interfaz gráfica que permita a Don Artemio gestionar su inventario de herramientas, usando <strong>arreglos (o listas)</strong> para almacenar los datos y operaciones básicas para consultar y modificar la información.</p>



<h2 class="wp-block-heading">Requisitos técnicos</h2>



<p><strong>Diseño de interfaz</strong></p>



<ul class="wp-block-list">
<li>Debe permitir registrar nuevas herramientas (nombre, categoría, cantidad).</li>



<li>Debe mostrar una tabla/listado del inventario actual.</li>



<li>Incluir campo de búsqueda por nombre o por categoría.</li>



<li>Incluir botones para actualizar cantidades y mostrar resúmenes.</li>
</ul>



<p><strong>Manejo de datos</strong></p>



<ul class="wp-block-list">
<li>Usar <strong>arreglos de objetos o estructuras</strong> para almacenar cada herramienta.</li>



<li>Implementar funciones para buscar, filtrar, agregar y actualizar datos.</li>
</ul>



<p><strong>Extras opcionales</strong> (para alumnos avanzados)</p>



<ul class="wp-block-list">
<li>Validar que no se repitan nombres al agregar nuevas herramientas.</li>



<li>Mostrar alertas si la cantidad llega a 0 (herramienta agotada).</li>



<li>Guardar y cargar el inventario desde un archivo local o memoria temporal.</li>
</ul>



<h2 class="wp-block-heading">Recomendaciones para la solución</h2>



<h4 class="wp-block-heading">Cada herramienta debe contener</h4>



<ul class="wp-block-list">
<li>Nombre (único)</li>



<li>Categoría (por ejemplo: manual, eléctrica, seguridad)</li>



<li>Cantidad en existencia (entero positivo)</li>
</ul>



<h4 class="wp-block-heading"><strong>Visualizar el inventario completo</strong></h4>



<ul class="wp-block-list">
<li>Mostrar todos los registros en una tabla o lista.</li>



<li>Posibilidad de ordenar por nombre o por categoría.</li>
</ul>



<h4 class="wp-block-heading"><strong>Buscar herramientas</strong></h4>



<ul class="wp-block-list">
<li>Permitir buscar por nombre exacto o por categoría (filtro dinámico).</li>
</ul>



<h4 class="wp-block-heading"><strong>Actualizar cantidad</strong></h4>



<ul class="wp-block-list">
<li>Seleccionar una herramienta y modificar su cantidad (agregar o restar, sin permitir negativos).</li>
</ul>



<h4 class="wp-block-heading"><strong>Generar resumen del inventario</strong></h4>



<ul class="wp-block-list">
<li>Mostrar el número total de herramientas registradas.</li>



<li>Mostrar cuántas herramientas hay por cada categoría.</li>



<li>Alertar si alguna herramienta tiene cantidad = 0 (producto agotado).</li>
</ul>



<h4 class="wp-block-heading">La solución debe preferentemente:</h4>



<ul class="wp-block-list">
<li>Hacer uso de <strong>arreglos o listas de objetos</strong> es obligatorio para la gestión de datos.</li>



<li>Debe diseñarse una <strong>interfaz gráfica interactiva</strong> (puede ser web con HTML/CSS/JS, o app con Python + Tkinter, etc.).</li>



<li>Toda interacción debe ser mediante la interfaz; no se permiten entradas por consola.</li>



<li>El código debe estar bien estructurado, comentado y permitir fácil mantenimiento.</li>
</ul>



<h2 class="wp-block-heading">Criterios a evaluar</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Criterio</th><th>Puntos</th></tr></thead><tbody><tr><td>Funcionalidad completa</td><td>40</td></tr><tr><td>Claridad y usabilidad de la interfaz</td><td>20</td></tr><tr><td>Lógica en el manejo de arreglos</td><td>15</td></tr><tr><td>Eficiencia en búsquedas y actualizaciones</td><td>10</td></tr><tr><td>Diseño visual atractivo y accesible</td><td>10</td></tr><tr><td>Comentarios y buenas prácticas</td><td>5</td></tr></tbody></table><figcaption class="wp-element-caption">Tabla 1.  Criterios de evaluación del ejercicios recomendados. Fuente: Creación propia.</figcaption></figure>



<h2 class="wp-block-heading">Extra (bono creativo)</h2>



<ul class="wp-block-list">
<li>Opción para <strong>exportar el inventario</strong> como archivo <code>.json</code> o <code>.csv</code>.</li>



<li>Interfaz responsiva o accesible desde móvil/tableta.</li>



<li>Animaciones o alertas visuales al realizar acciones.</li>
</ul>



<p>Esperando que puedas divertirte con la solución de este ejercicio.</p>
<p>La entrada <a href="https://www.frexus.dev/post/el-inventario-perdido/">El inventario perdido</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/el-inventario-perdido/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3465</post-id>	</item>
		<item>
		<title>Mi primera ventana en Java</title>
		<link>https://www.frexus.dev/articulo/mi-primera-ventana-en-java/</link>
					<comments>https://www.frexus.dev/articulo/mi-primera-ventana-en-java/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 15 Apr 2021 08:21:52 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#java #programacion #orientada #objetos #GUI]]></category>
		<guid isPermaLink="false">https://www.ajgutierrez.me/?p=320</guid>

					<description><![CDATA[<p>En esta entrada se va a crear una ventana para ello se hará uso de las librerias swint y awt. Para hacer este uso hay que hacerlo con la palabra reservada import seguido del paquete javax con un punto (.) se indica que tipo se librería se va a utilizar, después se coloca la palabra swing y como se va a usar todas los paquetes de ésta se coloca .* un punto seguido de un asterisco (*). Con ello se indica que se incluyan todos los componentes de swing. a Continuación se muestra el código de las importaciones que se requiere. En el bloque de código anterior se encuentra las tres librerías que se usaran el siguiente código permite crear la ventana. En este código fuente de java se esta creando una ventana en la que no tiene ningún objeto, entienda por objeto una etiqueta, un cuadro de texto, un botón, entre otros. Lo único que hace este código es crear una ventana de 400 pixeles de alto y 400 pixeles de ancho, coloca en la barra de título de la ventana la leyeda &#8220;Mi primera Ventana en java&#8221;. En el método ejecutar se hace indica la dimensión de la ventana con la propiedad setSize(400,400). Con la propiedad setVisible(true); Se indica que ventana creada se muestre en al usuario, si se coloca la palabra false la ventana nunca aparecerá. Vea la imagen uno donde se muestra la ventana creada con el código. En la imagen 1, se puede apreciar el resultado o la creación de la ventana que se tendrá al ejecutar el código completo, es decir, el segmento de las importaciones de las librerías y el bloque de la clase. En la imagen 2 se puede apreciar el código completo. Hasta este punto se es capas de crear una ventana en java con el paradigma orientado a objetos. No olvide notar que en el método principal se hace una instancia de la clase ventana donde permite hacer uso de los dos métodos anteriores (Ventana y ejecutar).</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/mi-primera-ventana-en-java/">Mi primera ventana en Java</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En esta entrada se va a crear una ventana para ello se hará uso de las librerias swint y awt. Para hacer este uso hay que hacerlo con la palabra reservada <em>import</em> seguido del paquete <em>javax</em> con un punto (.) se indica que tipo se librería se va a utilizar, después se coloca la palabra <em>swing</em> y como se va a usar todas los paquetes de ésta se coloca <em>.* </em> un punto seguido de un asterisco (*). Con ello se indica que se incluyan todos los componentes de swing. a Continuación se muestra el código de las importaciones que se requiere.</p>



<pre class="EnlighterJSRAW">import javax.swing.*;
import java.awt.*;
import java.awt.event.*;</pre>



<p>En el bloque de código anterior se encuentra las tres librerías que se usaran el siguiente código permite crear la ventana.</p>



<pre class="EnlighterJSRAW">public class Ventana {
    public Ventana () {
         super("Mi primera ventana en java");
    }
    public void ejecutar(){
         setSize(400,400);
         setVisible(true);
    }
    public static void main (String [] args){
         new Ventana().ejecutar();
    }
}</pre>



<p>En este código fuente de java se esta creando una ventana en la que no tiene ningún objeto, entienda por objeto una etiqueta, un cuadro de texto, un botón, entre otros. Lo único que hace este código es crear una ventana de 400 pixeles de alto y 400 pixeles de ancho, coloca en la barra de título de la ventana la leyeda &#8220;<em>Mi primera Ventana en java&#8221;</em>. </p>



<p>En el método <em>ejecutar</em> se hace indica la dimensión de la ventana con la propiedad <em>setSize(400,400). </em> Con la propiedad <em>setVisible(true)</em>;<em> </em>Se indica que ventana creada se muestre en al usuario, si se coloca la palabra <em>false</em> la ventana nunca aparecerá. Vea la imagen uno donde se muestra la ventana creada con el código.</p>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/648499094377185280/v2" data-did="82516b6cb0a5081baa719bc13d5c4c98ad0b4e1c"  ><a href="https://www.tumblr.com/ajgutierr3z/648499094377185280/ventana-en-java">https://www.tumblr.com/ajgutierr3z/648499094377185280/ventana-en-java</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption>Imagen 1. Ventana creada con el código descrito. Fuente: tumblr.com</figcaption></figure>



<p>En la imagen 1, se puede apreciar el resultado o la creación de la ventana que se tendrá al ejecutar el código completo, es decir, el segmento de las importaciones de las librerías y el bloque de la clase. En la imagen 2 se puede apreciar el código completo.</p>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/648499501662879744/v2" data-did="f8a7aa594aa610814740c23eab29e9e02a04bfae"  ><a href="https://www.tumblr.com/ajgutierr3z/648499501662879744/c%C3%B3digo-para-crear-una-ventana-en-java">https://www.tumblr.com/ajgutierr3z/648499501662879744/c%C3%B3digo-para-crear-una-ventana-en-java</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption>Imagen 2. Código para crear una ventana en Java</figcaption></figure>



<p>Hasta este punto se es capas de crear una ventana en java con el paradigma orientado a objetos. No olvide notar que en el método principal se hace una instancia de la clase ventana donde permite hacer uso de los dos métodos anteriores (Ventana y ejecutar).</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-peertube wp-block-embed-peertube"><div class="wp-block-embed__wrapper">
<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="PrimeraVentanaJava" width="560" height="315" src="https://fediverse.tv/videos/embed/f35eb8d6-9860-4f94-a9a3-21627a43e349#?secret=7wcZ5XlbHQ" data-secret="7wcZ5XlbHQ" frameborder="0"></iframe>
</div><figcaption>Video 1. Ejecución del código aquí explicado y creación de la ventana</figcaption></figure>
<p>La entrada <a href="https://www.frexus.dev/articulo/mi-primera-ventana-en-java/">Mi primera ventana en Java</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/mi-primera-ventana-en-java/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">320</post-id>	</item>
	</channel>
</rss>
