Informe-Tecnico-TAP Librerías y Componentes JESUS UN
Informe-Tecnico-TAP Librerías y Componentes JESUS UN
COMPONENTES Y LIBRERÍAS.
PRÁCTICA:
GRUPO
4A
Página 1 de 14
INTRODUCCIÓN
CONTENIDO DE LA UNIDAD.
Página 2 de 14
• DESARROLLO
Explica el desarrollo
Paso 1: Tendremos que crear un nuevo proyecto de tipo biblioteca de clase Java.
Paso 3: Como consiguiente tendremos que crear un paquete Java, por lo que tendremos
que ubicarnos en el apartado de la biblioteca con el clic derecho seleccionamos nuevo y
paquete Java.
Paso 4: Ahora tendremos que pulsar sobre el nombre del paquete, presionamos clic
derecho del mouse, seleccionamos la creación de una nueva clase denominada
Aritmética.
Paso 5: Posteriormente codificamos las operaciones que debe hacer la clase Aritmética,
en este caso:
Paso 6: Procedemos a crear otra clase con el mismo procedimiento del paso 4. Esta vez
nombre una clase denominada Calculo.
Paso 7: Es importante generar el archivo JAR, que se utilizará en otra aplicación. Para
ello pulse con el botón derecho del mouse sobre el nombre del paquete y seleccione la
opción Generar.
Paso 8: Debemos cerrar el proyecto después que se haya generado el archivo JAR.
Página 3 de 14
Paso 9: Posteriormente se debe crear un nuevo proyecto de tipo escritorio, para anexar
y utilizar la biblioteca de clase antes creada. Denomine este proyecto como Calculadora.
Paso 10: Luego se tiene que agregar la librería de la clase, por lo que se tiene que
presionar sobre la carpeta librería del proyecto y seleccionar la opción Agregar
proyecto.
Paso 12: Posteriormente se debe instanciar las clases que derivará de Aritmética y
Calculo.
Paso 13: Como penúltimo paso se debe seleccionar el evento actionPerfomed del botón
Sumar y Potencia, para ingresar líneas de código para ejecutarse, con sus respectivas
operaciones.
Paso 14: Como último paso debemos verificar si el programa corre con sus respectivas
operaciones, en caso contrario se debe corregir el error, posteriormente tendremos el
programa listo para su uso.
Código:
package calculadora;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
Página 4 de 14
import javax.swing.JDialog;
import javax.swing.JFrame;
/**
* The application's main frame.
*/
public class CalculadoraView extends FrameView {
initComponents();
// status bar initialization - message timeout, idle icon and busy animation, etc
ResourceMap resourceMap = getResourceMap();
int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
messageTimer = new Timer(messageTimeout, new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusMessageLabel.setText("");
}
});
messageTimer.setRepeats(false);
int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
for (int i = 0; i < busyIcons.length; i++) {
busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
}
busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
public void actionPerformed(ActionEvent e) {
busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
}
});
idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
Página 5 de 14
if (!busyIconTimer.isRunning()) {
statusAnimationLabel.setIcon(busyIcons[0]);
busyIconIndex = 0;
busyIconTimer.start();
}
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
} else if ("done".equals(propertyName)) {
busyIconTimer.stop();
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
progressBar.setValue(0);
} else if ("message".equals(propertyName)) {
String text = (String)(evt.getNewValue());
statusMessageLabel.setText((text == null) ? "" : text);
messageTimer.restart();
} else if ("progress".equals(propertyName)) {
int value = (Integer)(evt.getNewValue());
progressBar.setVisible(true);
progressBar.setIndeterminate(false);
progressBar.setValue(value);
}
}
});
}
@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame = CalculadoraApp.getApplication().getMainFrame();
aboutBox = new CalculadoraAboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
CalculadoraApp.getApplication().show(aboutBox);
}
Página 6 de 14
private void initComponents() {
mainPanel.setName("mainPanel"); // NOI18N
org.jdesktop.application.ResourceMap resourceMap =
org.jdesktop.application.Application.getInstance(calculadora.CalculadoraApp.class).get
Context().getResourceMap(CalculadoraView.class);
jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N
jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N
txtValor1.setText(resourceMap.getString("txtValor1.text")); // NOI18N
txtValor1.setName("txtValor1"); // NOI18N
txtValor2.setText(resourceMap.getString("txtValor2.text")); // NOI18N
txtValor2.setName("txtValor2"); // NOI18N
jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
jLabel3.setName("jLabel3"); // NOI18N
jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
Página 7 de 14
jButton1.setName("jButton1"); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
jButton2.setName("jButton2"); // NOI18N
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
lblResultado.setText(resourceMap.getString("lblResultado.text")); // NOI18N
lblResultado.setName("lblResultado"); // NOI18N
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING, false)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(txtValor2))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(txtValor1))
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jLabel3)
Página 8 de 14
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblResultado,
javax.swing.GroupLayout.PREFERRED_SIZE, 81,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jButton1)
.addGap(18, 18, 18)
.addComponent(jButton2)))
.addContainerGap(186, Short.MAX_VALUE))
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(jLabel2)
.addComponent(txtValor1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(11, 11, 11)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(jLabel1)
.addComponent(txtValor2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(jLabel3)
.addComponent(lblResultado,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
43, Short.MAX_VALUE)
Página 9 de 14
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.
BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addGap(34, 34, 34))
);
menuBar.setName("menuBar"); // NOI18N
fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
fileMenu.setName("fileMenu"); // NOI18N
javax.swing.ActionMap actionMap =
org.jdesktop.application.Application.getInstance(calculadora.CalculadoraApp.class).get
Context().getActionMap(CalculadoraView.class, this);
exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
exitMenuItem.setName("exitMenuItem"); // NOI18N
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
helpMenu.setName("helpMenu"); // NOI18N
aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
aboutMenuItem.setName("aboutMenuItem"); // NOI18N
helpMenu.add(aboutMenuItem);
menuBar.add(helpMenu);
statusPanel.setName("statusPanel"); // NOI18N
statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusMessageLabel.setName("statusMessageLabel"); // NOI18N
statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
progressBar.setName("progressBar"); // NOI18N
Página 10 de 14
javax.swing.GroupLayout statusPanelLayout = new
javax.swing.GroupLayout(statusPanel);
statusPanel.setLayout(statusPanelLayout);
statusPanelLayout.setHorizontalGroup(
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(statusPanelSeparator,
javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
.addGroup(statusPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(statusMessageLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
226, Short.MAX_VALUE)
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(statusAnimationLabel)
.addContainerGap())
);
statusPanelLayout.setVerticalGroup(
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(statusPanelLayout.createSequentialGroup()
.addComponent(statusPanelSeparator,
javax.swing.GroupLayout.PREFERRED_SIZE, 2,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment
.BASELINE)
.addComponent(statusMessageLabel)
.addComponent(statusAnimationLabel)
.addComponent(progressBar,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(3, 3, 3))
);
setComponent(mainPanel);
setMenuBar(menuBar);
Página 11 de 14
setStatusBar(statusPanel);
}// </editor-fold>
double b = Double.parseDouble(txtValor2.getText());
double r = aux2.potencia(a,b);
lblResultado.setText(String.valueOf(r));
}
PaqueteMatematica.Aritmetica aux= new PaqueteMatematica.Aritmetica();
PaqueteMatematica.Calculo aux2=new PaqueteMatematica.Calculo();
Página 12 de 14
private final Icon idleIcon;
private final Icon[] busyIcons = new Icon[15];
private int busyIconIndex = 0;
Nota: respetar el tipo y tamaño de letra, 12 para código y 8 para mensaje del programador (//). No usar
imagen.
En esta practica podemos ver lo importante que son las librerías ya que agracias a eso
nos podemos ahorra bastante tiempo si ya tenemos creado o descargado algunas
librerías que puedan servirnos en el programa y la forma en que se implementa.
Página 13 de 14
CONCLUSIÓN GENERAL DE LA UNIDAD
En conclusión, podemos ver que usamos librería que creamos al principio para luego
poner la librería creado para sea de una manera más fácil para que así sea una buena
aplicación de librerías usando los paquetes son el mecanismo que usa Java para facilitar
la modularidad del código. Un paquete puede contener una o más definiciones de
interfaces y clases, distribuyéndose habitualmente como un archivo. Para utilizar los
elementos de un paquete es necesario importar este en el módulo de código en curso,
usando para ello la sentencia import.
• Puntos, cómo los históricos y evolutivos, deben ser abordados de manera más
investigativa, recordemos que "conocer el pasado nos proyecta al futuro".
Página 14 de 14