Professional Documents
Culture Documents
LICENCIATURA EN:
INGENIERÍA EN COMPUTACIÓN
“Paradigmas de Programación I”
TERCER SEMESTRE
Grupo: ICO 26
The following work shows some of the GUI codes that allow us to better understand the subject and how they help
us in our work as programmers day by day since these are implemented at all times within our academic and work
life, GUIs allow us to better manage the system since they are responsible for providing the user with a good
experience when opening programs or executing a task.
The main function of the GUI is that, to simplify the communication that exists between the machine, an operating
system and a user, these three complements serve and improve the GUI since they provide us with various
knowledge and we generate skills that allow us favoring, if the interface is not to the liking of a user, he can leave
and not continue since it is very difficult for him to understand, so something not very complex is needed that
actually calls the intention of who is using it or is visiting him. (GUI, 2020)
We as people who lead a life of hard work every day can create interfaces just by following some important steps
as they are.
The graphical user interface or GUI (Graphic User Interface) is the visual environment of images and objects through
which a machine and a user interact. In the mid-1970s, GUIs began to replace command line interfaces (CLIs), making
interaction with computers easier and more intuitive.
Something very important to note is that, like any other type of textual or graphic document created by a computer
program, hypertext navigation is carried out through the screen and in the case of a document or a web platform,
for through a reading and viewing program called a browser. The hypertext design is done so that the user can see
all the necessary information on the screen and to operate and interact with it through the mouse, the keyboard
and the menu options. Thus, codes are inserted that are not visible if preferred, but that offer the desired appearance
to be seen on the screen. Here the key word is WYSIWYG ("What you see is what you get"), that is, what you see is
what you get, this way it becomes easier for us to try to understand and handle different things at the same time
since an interface will provide us with that help at all times.
Finally, the practice begins with the visualization of a document where we use this to create the codes as well as the
output screens or execution of each of the codes with everything necessary to be able to generate our own
knowledge and skills at the moment. of carrying out each of the codes, since they are not so complex they take up
a bit of time when observing their operation and since in reality we must use them since there are several interfaces
and several meters to be able to call them, so it is necessary the help of an interface that allows us to create more
interfaces and in this case we use Java as a complement to be able to create the practice as well as GitHub, which
was the platform where each of the codes made were uploaded.
12.2 Entrada y salida simple
Introduction
In this code, what was done was a code that allowed us to give two numbers so that at the end it could add them without
having to struggle within the code so that the two numbers would be added right there, it will also give us a window
where they are entered there the numbers and with the accept button the entered numbers will be added without
suffering errors.
Imágenes de ejecución
Code
package GUI.Suma;
// Fig. 12.2: Sum.java
// Addition program that uses JOptionPane for input and output.
import javax.swing.JOptionPane;
This code was very useful to me since it became interesting to me how within a code giving it instructions we can add
two numbers that we want since I only knew the sum of two numbers but already within the code giving it values within
the same code without see a window that adds these numbers and this code does not give as many errors as the previous
ones.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/Suma
Introduction
In this code, what was done was to add an image to the code so that it would show us the image with text boxes both to
the right, below and left of the image, for that with a line of code we call the image with the assigned name to said image
so that within the line of code it would be called and it would not have bruises.
Execution image
Code
package GUI.LabelFrame;
// Fig. 12.6: LabelFrame.java
// Jlabel components with text and icons
import java.awt.FlowLayout; // specifies how components are to be ordered
import javax.swing.JFrame; // provides the basic features of awindow
import javax.swing.JLabel; // display text and images
import javax.swing.SwingConstants; // common constants used with Swing
import javax.swing.Icon; // interface used to manipulate images
import javax.swing.ImageIcon; // load the images
package GUI.LabelFrame;
// Fig. 12.7: TestLabel.java
// LabelFrame test.
import javax.swing.JFrame;
Comement
This code allowed me to understand the operation of how we can call an image with text boxes that is displayed in a
window with what is required, although it is difficult when trying to understand since without a correct library this would
not work and would mark errors within the code and the output screen would not come out in the window
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/LabelFrame
12.9 y 12.10 Campo texto Marco
Introduction
What was done within this code was to create two classes to call a text box that asks us to enter our own text, be it
anything, the next thing is to show a window with what is written in the text box and that same window will give another
message window displaying our text.
Execution image
Code
package GUI.CampoTextoMarco;
// Fig. 12.9: FrameTextField.java
// The JTextField and JPasswordField components.
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JOptionPane;
}
// private inner class for event handling
private class handlerTextField implements ActionListener{
// process text field events
@Override
public void actionPerformed(ActionEvent event){
String string ="";
package GUI.CampoTextoMarco;
// Fig. 12.10: TextFieldTest.java
// Test FrameTextField.
import javax.swing.JFrame;
I found the code interesting since entering a text that allows us to view it again in a message window is really interesting
since we can add different things, something that I liked about the code is that we can add a password so that the message
box appears. text, having knowledge of these will allow us to visualize some other components.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/CampoTextoMarco
Introduction
This code allows us to design a text box with two buttons, one simple and the other elegant, each button contains a
different image and when selecting said button it will show us its image and when clicking it it will show us the button
that we have chosen , it is something quite complex and likewise a code library was called
Execution image
Code
package GUI.MarcoBoton;
// Fig. 12.15: ButtonFrame.java
// Command buttons and action events.
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
}
}
}// end the class FrameButton
package GUI.MarcoBoton;
// Fig. 12.16: TestButton.java
// ButtonFrame test.
import javax.swing.JFrame;
}
}// end class TestButton
Comment
With this code we realize that it is possible to select a button that shows us an image, but in the same way within this we
must call the image so that the code executes it correctly, it seems to me an easier way to learn to design something that
we know we will be able to occupy in the future.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoBoton
Introduction
This code shows the change of letter that can be made to a text, showing it in a text window with some buttons that allow
the selection of the type of letter that you want to show, in this way the text will change with the selected button, said
code shows no complications when executing
Execution image
Code
package GUI.MarcoCasillaVerificacion;
// Fig. 12.17: CheckBoxFrame.java
// JcheckBox buttons and element events.
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
// determine which CheckBox objects are selected and create the Font object
if (boldJCheckBox.isSelected() && italicsJCheckBox.isSelected())
lettertype = new Font("Serif", Font.BOLD + Font.ITALIC, 14);
else if (boldJCheckBox.isSelected())
lettertype = new Font("Serif", Font.BOLD, 14);
else if (italicsJCheckBox.isSelected())
lettertype = new Font("Serif", Font.ITALIC, 14);
else
lettertype = new Font("Serif", Font.PLAIN, 14);
TextField.setFont(lettertype);
}
}
}// end class CheckBoxFrame
package GUI.MarcoCasillaVerificacion;
// Fig. 12.18: CheckBoxTest.java
// CheckBoxFrame test.
import javax.swing.JFrame;
Comment
It seems to me a fascinating idea that from a code we can change some type of font and that it changes it without
problems, although I would like that instead of the text being already inside the Code.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoCasillaVerificacion
12.19 y 12.20 Marco botón opción
Introduction
In this code, what we want to show are text windows with some buttons that allow us to change the font, this one before
the other has four buttons, so it has more font changes, with the buttons we will select the type of font that we Like it
more, said code already has inside the text that you want to see with the change of letter.
Execution image
Code
package GUI.MarcoBotonOpcion;
// Fig. 12.19: OptionButtonFrame.java
// Create radio buttons, using ButtonGroup and JRadioButton.
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
TextField = new JTextField("Notice the change in the style of the type letter",25);
add(TextField); // add TextField to JFrame
Comment
It seems perfect to me that now more fonts can be chosen, although there are only two, but their structure changes, with
the buttons ready to receive instructions it is easy to control the code, in execution only the text window is shown with
the buttons for letter change so it's ok as the code is executed.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoBotonOpcion
Introduction
The following code shows four images with different names assigned for their possible execution, each image can be
displayed with the change or selection of a button, if it were a list it was only that here we can search for the one we want
just by selecting the name of these.
Execution image
Code
package GUI.MarcoCuadroCombinado;
// Fig. 12.21: ComboBoxFrame.java
// JComboBox object that displays a list of image names.
import java.awt.FlowLayout;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.Icon;
import javax.swing.ImageIcon;
imagesJComboBox.addItemListener(
new ItemListener() { // anonymous inner class
// handle JComboBox event
@Override
public void itemStateChanged(ItemEvent event) {
if(event.getStateChange() == ItemEvent.SELECTED)
label.setIcon(icons[
imagesJComboBox.getSelectedIndex()]);
}
} // end anonymous inner class
); // end addItemListener call
package GUI.MarcoCuadroCombinado;
// Fig. 12.22: ComboBoxTest.java
// ComboBoxFrame test.
import javax.swing.JFrame;
I found the operation of this code very interesting since with the selection of the combo box it is fun to identify an image
that we found in the code previously, this also generates extra learning since if we know how to use the corresponding
extensions it works quickly.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoCuadroCombinado
Introduction
In the following code, a list will be shown where it contains several colors, each color is linked to a library, so they can be
viewed without any problem, the list has several colors, to be able to select the colors, just click on the button you want
to display and the panel will change to the color you selected.
Execution image
Code
package GUI.MarcoLista;
// Fig. 12.23: ListFrame.java
// JList object that displays a list of colors.
import java.awt.FlowLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.ListSelectionModel;
//The constructor of ListFrame adds to the JFrame the JScrollPane that contains a
//JList
public ListFrame(){
super("JList test");
setLayout(new FlowLayout());
listJListColors.addListSelectionListener(
new ListSelectionListener() {
//handle list selection events
@Override
public void valueChanged(ListSelectionEvent event) {
getContentPane().setBackground(colors[listJListColors.getSelectedIndex()]);
}
}
);
}
}//end of class ListFrame
package GUI.MarcoLista;
// Fig. 12.24: TestList.java
// Select colors from a JList object
import javax.swing.JFrame;
Comment
This code allowed me to understand more how we can generate a list where it shows us some colors, it leaves me
wondering if we can use it for something else like showing some objects that we enter and put it behind the selected
one, although that could Investigate like this I would have self-learning and it would be easier for me to understand
how the code works in the same way
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoLista
Introduction
The following code shows how we can create a list of the same colors that we already have inside the code, but we will
select these and only five of the colors present in the first list can be selected, it is quite easy since we have the copy
button that allows you to select the code and pass it to the corresponding list.
Execution image
Code
package GUI.MarcoSeleccionMultiple;
// Fig. 12.25: MultipleSelectionFrame.java
// JList object that allows multiple selections.
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
listJListCopy.setListData(listJListColors.getSelectedValuesList().toArray(new String[0]));
}
}
);
add(buttonJButtonCopy);// add copy button to JFrame
listJListCopy = new JList<String>();// list to store names of copied colors
listJListCopy.setVisibleRowCount(5);// show 5 rows
listJListCopy.setFixedCellWidth(100);// set the width
listJListCopy.setFixedCellHeight(15);// set the height
listJListCopy.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
add(new JScrollPane(listJListCopy));// add list with panel displacement
}
}// end class MultiSelectionFrame
package GUI.MarcoSeleccionMultiple;
// Fig. 12.26: MultipleSelectionTest.java
// MultipleSelectionFrame test.
import javax.swing.JFrame;
Comment
In this code I had some complications since it only allows me to select one color when there should be several, but after
seeing what was wrong is that I did not execute the program well, that's why I only got to copy one color and not
several as they should be
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoSeleccionMultiple
Introduction
In the following code, what is intended to demonstrate is the movement of the cursor or mouse when being inside the
panel created by the code together with the extension that we made, it will show different actions that we can do with
said mouse, we can occupy it as many times as they are necessary to prove that it really works
Execution image
Code
package GUI.MarcoRastreadorRaton;
// Fig. 12.28: MouseTrackerFrame.java
// Mouse event handling.
import java.awt.Color;
import java.awt.BorderLayout;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
//The MarcoRastreadorRaton constructor sets the GUI and registers the mouse event
handlers
public MouseTrackerFrame(){
super("Mouse Events Demo");
@Override
public void mouseReleased(MouseEvent event) {
barStatus.setText(String.format("It was released in [%d,%d]",
event.getX(),event.getY()));
}
package GUI.MarcoRastreadorRaton;
// Fig. 12.29: MouseTrackerFrame.java
// Test of MouseTrackerFrame.
import javax.swing.JFrame;
Comment
This code allowed me to be able to carry out a practice where with the help of the mouse the handling was possible, in
this way with the panel we interact and generate different types of actions such as being outside the panel, clicking inside
the panel so it is perfect for practicing the motion of some particular object.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoRastreadorRaton
Introduction
The code below shows us the clicks we make on the parts of our mouse, as well as the left side, the right side or the
middle button that some of the mice have, for that within our panel we perform these actions that allow us identify
which part of our mouse we are using
Execution image
Code
package GUI.MarcoDetallesRaton;
// Fig. 12.31: MouseDetailFrame.java
// Demonstration of mouse clicks and how to differentiate between mouse buttons.
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
//constructor sets String of title bar and registers mouse listener component
public MouseDetailsFrame() {
super("Click and Mouse Buttons");
}
}
}// end class MouseDetailFrame
package GUI.MarcoDetallesRaton;
// Fig. 12.32: MouseDetails.java
// MouseDetailFrame test.
import javax.swing.JFrame;
Comment
This code was much easier for me when it came to doing it since I had prior knowledge of how it would be done thanks
to a previous code that I had seen and with the help of information it made it easier for me to understand it, only that
when using the click of in the middle I didn't know what part of the mouse it was until I searched the internet and I was
able to successfully complete the execution of the program
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoDetallesRaton
Introduction
The following code shows the execution of a drawing panel together with the mouse since with these we can make a
drawing whatever it was, with the help of an extension it may be possible to make the panel and the drawings within East.
Execution image
Code
package GUI.PanelDibujo;
// Fig. 12.34: PanelDrawing.java
// DrawPanel test.
import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList;
import javax.swing.JPanel;
package GUI.PanelDibujo;
// Fig. 12.35: Painter.java
// DrawPanel test.
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.setSize(400, 200);
application.setVisible(true);
}
}
Comment
This was the code in which I liked working since creating a panel like Paint where you can make some drawings is quite
entertaining and I would like there to be the option of adding several colors so that it is not so ugly only in black, but it
still leaves a lot to think about since the imagination is a limit here
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/PanelDibujo
Introduction
The following code shows us that when pressing a key where these can be keys that do some action and others that do
not, we can identify it in the window that we have where when clicking on a key it will be put on the panel with some
instructions that they say whether or not it is an action key.
Execution image
Code
package GUI.MarcoDemoTeclas;
// Fig. 12.36: KeyDemoFrame.java
// Handling key events.
import java.awt.Color;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class FrameworkDemoKeys extends JFrame implements KeyListener {
private String line1 = ""; // first line of the textarea
private String line2 = ""; // second line of the textarea
private String line3 = ""; // third line of the textarea
private JTextArea TextArea; // textarea to display the output
public FrameworkDemoKeys() {
super("Demonstration of key press events");
@Override
public void keyTyped(KeyEvent event) {
line1 = String.format("Key pressed: %s", event.getKeyChar());
setLines2and3(event); // set output lines two and three
}
package GUI.MarcoDemoTeclas;
// Fig. 12.37: KeyDemo.java
// KeyDemoFrame test.
import javax.swing.JFrame;
Comment
This code was useful in some aspects since it allowed me to identify which keys are the ones that allow or generate an
action within the computer keyboard and which ones only do not generate anything, such as the letters that we mostly
use to write, so this code was very useful as a practice.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoDemoTeclas
Introduction
In the following code, what was done was to create a panel that shows us three buttons and when selecting one with the
indicated name it will move to that position or side, it has three different positions which allows us to make it easier to
handle of the panel where these buttons are shown
Execution image
Code
package GUI.MarcoFlowLayout;
// Fig. 12.39: FrameworkFlowLayout.java
// FlowLayout allows components to flow across multiple lines.
import java.awt.FlowLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
package GUI.MarcoFlowLayout;
// Fig. 12.40: DemoFlowLayout.java
// Test FrameworkFlowLayout.
import javax.swing.JFrame;
Comment
This code was simple when I was executing it but it was a bit complicated for me since I had exchanged the buttons and
they went to different sides so I just fixed it, it was quite good to learn in a different way than the previous ones, since
we went from doing lists to just handle code with some buttons and knowledge
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoFlowLayout
Introduction
In the following code, several buttons will be displayed inside the text box or panel, each one is in a different position and
when selecting a button, it will be removed from the box and the central buttons will start as they will take a different size
and so with the other buttons each one can take different forms so that is the interesting thing about this code.
Execution image
Code
package GUI.MarcoBorderLayout;
// Fig. 12.41: FrameBorderLayout.java
// BorderLayout containing five buttons.
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
add(buttons[0], BorderLayout.NORTH);
add(buttons[1], BorderLayout.SOUTH);
add(buttons[2], BorderLayout.EAST);
add(buttons[3], BorderLayout.WEST);
add(buttons[4], BorderLayout.CENTER);
}
// handles button events
@Override
public void actionPerformed(ActionEvent event) {
// checks the source of the event and distributes the content pane accordingly
for (JButton button : buttons) {
if (event.getSource() == button) {
button.setVisible(false); // hides the pressed button
} else {
button.setVisible(true); // shows the other buttons
}
}
package GUI.MarcoBorderLayout;
// Fig. 12.42: DemoBorderLayout.java
// Test of FrameBorderLayout.
import javax.swing.JFrame;
Comment
This code allows me to understand the positions of some buttons and how each one can work if several instructions are
given to it, as well as to see how they can change within the place where they are without any problem occurring since it
is defined and what they should do do so in this way there is no error of it.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoBorderLayout
Introduction
The following code demonstrates the use of GridLayout along with some implements within the code that allow us to see
the columns and rows when selecting a button, since they change if we press each one, they show us different sizes, so
to speak, having each button the same height and width without any problem.
Execution image
Code
package GUI.MarcoGridLayout;
// Fig. 12.43: FrameGridLayout.java
// GridLayout containing six buttons.
import java.awt.GridLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JButton;
toggle = !toggle;
container.validate(); // redistributes the container
}
}// end the FrameGridLayout class
package GUI.MarcoGridLayout;
// Fig. 12.44: DemoGridLayout.java
// MarcoGridLayout test.
import javax.swing.JFrame;
Comment
In the previous code we can realize that we can occupy the width of some figures for the buttons and that these change
as we want but giving them a specific instruction, each button shows the change that can be made in the window where
it is they find and how these are ordered with some numbers so that there is no confection..
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoGridLayout
Introduction
In the following code we can see the creation of a panel with some buttons, the buttons do not do anything in particular,
we can only see how we can create it through the already established code, so we realize more about the operation of
the buttons and the panel where they are shown.
Execution image
Code
package GUI.MarcoPanel;
// Fig. 12.45: FramePanel.java
// Use of a JPanel object to help layout components.
import java.awt.GridLayout;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
package GUI.MarcoPanel;
// Fig. 12.46: DemoPanel.java
// MarcoPanel test.
import javax.swing.JFrame;
Comment
This code, as mentioned before, allows us to see how the use of the buttons really works in the windows that are
displayed when executing the code, in this way we learn more because it would be the basis for the creation and use of
the buttons. within the codes.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoPanel
Introduction
In the following code we can see how a text box can be copied with a button and only copy what we find selected
without the need to write everything again to the right side of the panel executed by the code, we can also delete what
the code shows by default and write our own texts.
Execution image
Code
package GUI.MarcoAreaTexto;
// Fig. 12.47: TextAreaFrame.java
// Copy the selected text from one JText area to another.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JScrollPane;
package GUI.MarcoAreaTexto;
// Fig. 12.48: TextAreaDemo.java
// TextAreaFrame test.
import javax.swing.JFrame;
Comment
This code was very interesting to me because if we use it well it can be used as a work tool within the school when
making a note or things like that since it would be easy to put main ideas without the need to get lost or stir ideas so
this code is pretty good for learning.
Link to GitHub
https://github.com/GabrielSh33/EjerciciosClase/tree/master/src/GUI/MarcoAreaTexto
General comment
With this practice we realize that it is important to know the graphical interfaces since in one's life as a programmer
they are always present when carrying out a task, so it is necessary to know everything about it, we can create
interfaces with the help of several methods that allow us to better understand what we are doing and how we are
doing it so that aspects to follow during the creation of the interfaces are not complicated.
For a website or something that we are creating to be effective and successful, it must ensure that one as a user
can access it without problems, we can easily manage the page and all its components and feel permanently
comfortable. Nowadays it is necessary and important that the interfaces that are designed are to the liking of the
user, since if it is quite complex to use, it will end up discarding the interface, so it is necessary to put yourself in the
shoes of a user and see what we really need now. which must be something simple and easy to handle, so we must
opt for the user and not for us.
Finally, I think that this practice designs in us a new vision and how we should focus on the creation of codes so that
we are not complicating ourselves so much, this also teaches us the proper use of libraries and extensions that allow
us to be able to execute codes necessary to carry out our work
Bibliography
¿Qué es la interfaz gráfica de usuario GUI? (2020, Marzo 16). Glosario - Workana, Conceptos Fundamentales Del Marketing
Y Los Negocios. https://i.workana.com/glosario/que-es-la-interfaz-grafica-de-usuario-gui/
Deitel, P. (s.f.). Java Como Programar. Pearson. Obtenido de Componentes de la GUI. Obtenido de: M12_DEITEL_COMO-
PROGRAMAR-EN-JAVA_SE_10ED_C1_473-554_XXXX-X.pdf