You are on page 1of 5

Proyecto: OperarArreglos

Desactivar, Create Main Class: operararreglos


Desactivar, Set as Main Project
Finish

En: <default package>, clic derecho – New – Java Package


Package Name: paqueteOa
En el paquete creado, clic derecho, luego elegir JPanel Form de nombre PanelPrincipal,
donde seguimos el siguiente diseño:
PanelPrincipal con BorderLayout. En el norte colocamos otro panel(jPanel1) con BoxLayout
tipo X.Axis donde colocamos los objetos. Los ítems del comboBox eliminar con la propiedad
model. La propiedad editable del txtContador debe estar en false. En la propiedad background
del panel seleccionar el color de preferencia.
En el oeste del PanelPrincipal colocar otro panel(jPanel2) con BoxLayout tipo Y-Axis donde
colocamos los botones. En la propiedad background del panel seleccionar el color de su
preferencia. En la propiedad maximunSize de los botones coloque el mismo valor para el width,
así logramos que todos los botones tengan el mismo ancho.

En el centro del PanelPrincipal colocar un scrollPane y encima un área de texto con la


propiedad editable en false. En la propiedad font del área de texto elija el tipo monospaced para
lograr uniformidad en el texto de la salida.

Ver distribución de los objetos, y nombres de variables utilizados.

En el código fuente(Source), declarar las variables globales como atributos de la clase, y llenar
el ComoBox:
package paqueteOa;
public class PanelPrincipal extends javax.swing.JPanel {
// constantes globales
final int Maximo=10;
// variables globales
int ContValores=0; //contador
double Valores[]=new double[Maximo]; //Arreglo

public PanelPrincipal() {
initComponents();

// llenar contenido del ComboBox de valores


for(int p=1;p<=Maximo;p++)
cboValores.addItem(""+p);
}

Doble clic botón Ingreso:


private void btnIngresoActionPerformed(java.awt.event.ActionEvent evt) {
ingresar();
}
public void ingresar(){
Valores[ContValores]=leerValor();
mostrarDato(ContValores);
ContValores++;
controlarIngresos();
nuevoIngreso();
}
public double leerValor(){
return Double.parseDouble(txtValor.getText());
}
public void mostrarDato(int posicion){
imprime("Valor["+(posicion+1)+"] = "+Valores[posicion]+"\n");
}
public void imprime(String cadena){
txtSalida.append(cadena);
}
public void controlarIngresos(){
//leer numero de valores
int NumValores;
NumValores=leerNumeroValores();
//verificar numero de valores leido
if(ContValores==NumValores)
deshabilitarIngreso();
else
habilitarIngreso();
}
public int leerNumeroValores(){
return Integer.parseInt(cboValores.getSelectedItem().toString());
}
public void deshabilitarIngreso(){
txtValor.setEnabled(false);
btnIngreso.setEnabled(false);
btnListado.setEnabled(true);
btnReiniciar.setEnabled(true);
txtValor.requestFocus();
}
public void habilitarIngreso(){
cboValores.setEnabled(false);
txtValor.setEnabled(true);
btnIngreso.setEnabled(true);
btnListado.setEnabled(false);
btnReiniciar.setEnabled(true);
txtValor.requestFocus();
}
public void nuevoIngreso(){
txtContador.setText(""+ContValores);
// borrar valor ingresado
txtValor.setText("");
//enfocar textfield de valor
txtValor.requestFocus();
}

Doble clic botón Listado


private void btnListadoActionPerformed(java.awt.event.ActionEvent evt) {
listado();
}
public void listado(){
int NumValores;
NumValores=leerNumeroValores();
limpiarSalida();
imprime("Nro.\tValor\n");
for(int indice=0;indice<NumValores;indice++)
imprime((indice+1)+"\t"+formato(Valores[indice],3)+"\n");
}
public void limpiarSalida(){
txtSalida.setText("");
}
public String formato(double numero,int decimales){
String f;
f=String.format("%1."+String.valueOf(decimales)+"f",numero);
return f;
}

Doble clic botón Reiniciar


private void btnReiniciarActionPerformed(java.awt.event.ActionEvent evt) {
reiniciar();
}
public void reiniciar(){
ContValores=0;
limpiarSalida();
txtContador.setText("0");
cboValores.setSelectedIndex(0);
cboValores.setEnabled(true);
btnReiniciar.setEnabled(false);
btnListado.setEnabled(false);
btnIngreso.setEnabled(false);
txtValor.setEnabled(false);
}
Doble clic en el ComboBox:
private void cboValoresActionPerformed(java.awt.event.ActionEvent evt) {
controlarIngresos();
}

Luego crear el frame Principal. Clic derecho sobre paquete paqueteOa, elegir nuevo JFrame
Form de nombre Principal, aplicar diseño Border Layout, código fuente:

package paqueteOa;
public class Principal extends javax.swing.JFrame {
public Principal() {
//initComponents();
add(new PanelPrincipal());
setSize(500,400);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
}

Ejecutar:

Paquetes
Permiten utilizar clases en otras, y llamarlas de forma abreviada:

import java.util.*;
Modificadores
en algunos elementos (campos, métodos, clases, etc) se utilizan algunos de estos modificadores al
declararlos:
 public: cualquier objeto puede acceder al elemento
 protected: sólo pueden acceder las subclases de la clase.
 private: sólo pueden ser accedidos desde dentro de la clase.
 abstract: elemento base para la herencia (los objetos subtipo deberán definir este elemento).
 static: elemento compartido por todos los objetos de la misma clase.
 final: objeto final, no modificable ni heredable.
 synchronized: para elementos a los que no se puede acceder al mismo tiempo desde distintos
hilos de ejecución.

Identificadores

Nombran variables, funciones, clases y objetos. Comienzan por una letra, carácter de subrayado ‘_’ o
símbolo ‘$’. El resto de caracteres pueden ser letras o dígitos (o ’_’). Se distinguen mayúsculas de
minúsculas, y no hay longitud máxima. Las variables en Java sólo son válidas desde el punto donde se
declaran hasta el final de la sentencia compuesta (las llaves) que la engloba. No se puede declarar una
variable con igual nombre que una de ámbito exterior.

En Java se tiene también un término NULL, pero si bien el de C es con mayúsculas (NULL), éste es con
minúsculas (null):

String a = null;
...
if (a == null)...

Comentarios

// comentarios para una sola línea

/* comentarios de
una o más líneas */

/** comentarios de documentación para javadoc,


de una o más líneas */

You might also like