Está en la página 1de 48

TECNOLÓGICO DE ESTUDIOS

SUPERIORES DE COACALCO

EQUIPO:
Cruz Román Omar Osvaldo
Angel Gabriel Hernández de la Cruz

Materia:
Programación Orientada a Objetos
GRUPO:
10211

Docente:
Edgar García Candelario
package appcalculadora;

/**
*
* @author TESCo
*/
public class AppCalculadora {
public static void main(String[] args)
operacionIU v = new operacionIU();
v.setVisible(true);
}
}

package appcalculadora;

import com.sun.xml.internal.stream.events.CharacterEvent;

/**
Este código es una calculadora con una
* interfaz gráfica de usuario GUI en Java, Que
* @author TESCo realizamos en clase, Vamos las partes del
código:
*/

public class operacionIU extends javax.swing.JFrame { El código comienza con la declaración del
paquete appcalculadora, lo cual indica que
public operacionIU() {
todas las clases dentro de este archivo
initComponents(); pertenecen a ese paquete.
}
La clase principal se llama operacionIU y
@SuppressWarnings("unchecked") extiende javax.swing.JFrame, lo que significa
// <editor-fold defaultstate="collapsed" desc="Generated Code"> que es una ventana de aplicación.
private void initComponents() {

jLabel1 = new javax.swing.JLabel();

num1 = new javax.swing.JTextField();

num2 = new javax.swing.JTextField();

suma = new javax.swing.JButton();

jLabel2 = new javax.swing.JLabel();

resultado = new javax.swing.JLabel();

restarO = new javax.swing.JButton();


dividirO = new javax.swing.JButton();

multiO = new javax.swing.JButton();

limpiar = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setBackground(new java.awt.Color(102, 153, 255));

jLabel1.setForeground(new java.awt.Color(0, 153, 255));

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel1.setText("Equipo 4");

num1.setHorizontalAlignment(javax.swing.JTextField.CENTER);

num1.addActionListener(new java.awt.event.ActionListener() { El constructor operacionIU inicia la


ventana y llama al método
public void actionPerformed(java.awt.event.ActionEvent evt) {
initComponents() para configurar los
num1ActionPerformed(evt);
componentes de la interfaz de usuario.
}
El método initComponents() define y
});
configura todos los elementos de la GUI,
num1.addKeyListener(new java.awt.event.KeyAdapter() { como etiquetas, campos de texto y
public void keyTyped(java.awt.event.KeyEvent evt) { botones.
num1KeyTyped(evt); Estos componentes se colocan en un
} diseño de cuadrícula utilizando
}); javax.swing.GroupLayout.

num2.setHorizontalAlignment(javax.swing.JTextField.CENTER);

num2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

num2ActionPerformed(evt);

});

num2.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

num2KeyTyped(evt); Se procede a colocar los button y


colocar el nombre de cada uno de
}
ellos de cada variable
});

suma.setBackground(new java.awt.Color(153, 153, 255));

Los métodos siguientes, como


sumaActionPerformed(),
restarOActionPerformed(),
dividirOActionPerformed() y
suma.setText("Sumar");

suma.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

sumaActionPerformed(evt);

});

jLabel2.setForeground(new java.awt.Color(0, 153, 255));

jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel2.setText("CALCULADORA");

resultado.setBackground(new java.awt.Color(255, 255, 255));

resultado.setForeground(new java.awt.Color(0, 153, 255));

resultado.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

restarO.setBackground(new java.awt.Color(153, 153, 255));

restarO.setText("Restar");

restarO.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

restarOActionPerformed(evt);

});

dividirO.setBackground(new java.awt.Color(153, 153, 255));

dividirO.setText("Dividr");

dividirO.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

dividirOActionPerformed(evt);

});

multiO.setBackground(new java.awt.Color(153, 153, 255));

multiO.setText("Multiplicar");

multiO.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

multiOActionPerformed(evt);
}

});

limpiar.setText("Limpiar");

limpiar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

limpiarActionPerformed(evt);

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(94, 94, 94)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(resultado, javax.swing.GroupLayout.PREFERRED_SIZE, 160,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createSequentialGroup()

.addComponent(suma, javax.swing.GroupLayout.PREFERRED_SIZE, 74,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(28, 28, 28)

.addComponent(restarO, javax.swing.GroupLayout.PREFERRED_SIZE, 74,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(30, 30, 30)

.addComponent(multiO, javax.swing.GroupLayout.PREFERRED_SIZE, 96,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(27, 27, 27)

.addComponent(dividirO, javax.swing.GroupLayout.PREFERRED_SIZE, 74,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(103, Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGap(257, 257, 257))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(num1, javax.swing.GroupLayout.PREFERRED_SIZE, 74,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(130, 130, 130)

.addComponent(num2, javax.swing.GroupLayout.PREFERRED_SIZE, 74,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(149, 149, 149))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(limpiar)

.addGap(257, 257, 257))))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(54, 54, 54)

.addComponent(jLabel1)

.addGap(18, 18, 18)

.addComponent(jLabel2)

.addGap(17, 17, 17)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(num1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(num2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 52, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(suma)

.addComponent(restarO)

.addComponent(multiO)

.addComponent(dividirO))

.addGap(35, 35, 35)

.addComponent(resultado, javax.swing.GroupLayout.PREFERRED_SIZE, 19,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(limpiar)

.addGap(28, 28, 28))

Los métodos num1KeyTyped() y


num2KeyTyped() son controladores de
eventos para limitar el ingreso de
);

pack();

}// </editor-fold>

private void sumaActionPerformed(java.awt.event.ActionEvent evt) {

double n1 = 0;

double n2 = 0;

double operacion = 0;

n1 = Double.parseDouble(num1.getText());

n2 = Double.parseDouble(num2.getText());

operacion = n1 + n2;

resultado.setText("Suma: "+operacion);

private void num1ActionPerformed(java.awt.event.ActionEvent evt) {

private void num2ActionPerformed(java.awt.event.ActionEvent evt) {

private void restarOActionPerformed(java.awt.event.ActionEvent evt) {

double n1 = 0;

double n2 = 0;

double operacion = 0;

n1 = Double.parseDouble(num1.getText());

n2 = Double.parseDouble(num2.getText());

operacion = n1 - n2;

resultado.setText("Resta: "+operacion);

private void dividirOActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

double n1 = 0;

double n2 = 0;

double operacion = 0;

n1 = Integer.parseInt(num1.getText());

n2 = Integer.parseInt(num2.getText());

operacion = n1 / n2;

resultado.setText("Divir: "+operacion);
}

private void multiOActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

double n1 = 0;

double n2 = 0; El método main() es el punto de entrada


de la aplicación. Inicia la interfaz de
double operacion = 0;
usuario creando una instancia de
n1 = Integer.parseInt(num1.getText());
operacionIU y haciéndola visible.
n2 = Integer.parseInt(num2.getText());

operacion = n1 * n2;

resultado.setText("Multiplicacion: "+operacion);

private void num1KeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

int key = evt.getKeyChar();

boolean numeros = key >= 48 && key <= 57;

if(!numeros){

evt.consume();

if(num1.getText().trim().length() == 2){

evt.consume();

private void num2KeyTyped(java.awt.event.KeyEvent evt) {

int key = evt.getKeyChar();

boolean numeros = key >= 48 && key <= 57;

if(!numeros){

evt.consume();

}
if(num2.getText().trim().length() == 2){

evt.consume();

private void limpiarActionPerformed(java.awt.event.ActionEvent evt) {

num1.setText(null);

num2.setText(null);

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new operacionIU().setVisible(true); En resumen del trabajo realizado e clase,


} este código crea una calculadora simple
});
con una GUI básica que permite realizar
operaciones de suma, resta,
}
multiplicación y división entre dos
números ingresados por el usuario. Los
// Variables declaration - do not modify resultados se muestran en una etiqueta
private javax.swing.JButton dividirO; y se proporciona un botón para limpiar
los campos de entrada.
private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JButton limpiar;

private javax.swing.JButton multiO;

private javax.swing.JTextField num1;

private javax.swing.JTextField num2;

private javax.swing.JButton restarO;

private javax.swing.JLabel resultado;

private javax.swing.JButton suma;

// End of variables declaration

}
public class BancoApp {

public static void main(String[] args) {

Este código muestra un método básico de una


aplicación bancaria en Java. las partes
principales del código son:
banco Cuenta1 = new banco("ROMAN CR", 9139, 0.05f);
La clase principal se llama BancoApp.
banco Cuenta2 = new banco("MARIE ROWINA", 7910, 0.05f);
En el método main(), se crean dos instancias
de la clase banco llamadas Cuenta1 y
Cuenta1.deposito(800f); Cuenta2.

Cuenta2.deposito(900f); Cada una de ellas representa una cuenta


bancaria con un titular, un número de cuenta y
una tasa de interés anual.
System.out.println("Cargando cuentas de banco......");
Se realizan depósitos en ambas cuentas
mostrar(Cuenta1); utilizando los métodos deposito () de cada
mostrar(Cuenta2); objeto Cuenta1 y Cuenta2.

System.out.println("____________________________________");

System.out.println("saliendo de las cuentas...........");

Cuenta1.retirar(800f);

Cuenta2.retirar(800f);

mostrar(Cuenta1);

mostrar(Cuenta2);

System.out.println("____________________________________");
Luego se muestra el estado de las
cuentas utilizando el método
System.out.println("Calculando interes por mes, por favor espere...........");
mostrar (). Este método muestra el
número de cuenta, el titular, el
Cuenta1.intMen();
saldo y la tasa de interés anual de
Cuenta2.intMen(); una cuenta en particular.

se realizan retiros en ambas cuentas


mostrar(Cuenta1); utilizando los métodos retirar () de
mostrar(Cuenta2); cada objeto Cuenta1 y Cuenta2.
} Se vuelve a mostrar el estado
actualizado de las cuentas utilizando
el método mostrar ().
public static void mostrar(banco cuenta){

System.out.println("Seguimiento:");

System.out.println("Numero : " + cuenta.getNumero()); El código por ultimo se calcula el


System.out.println("Titular : " + cuenta.getUsuario()); interés mensual para cada cuenta
utilizando el método intMen(). Este
System.out.println("Saldo : " + cuenta.getSaldo());
método calcula el interés mensual
System.out.println("Tasa de interes anual : " + cuenta.getIntAnu() * 100 + "%");
basado en la tasa de interés anual y
actualiza el saldo de la cuenta.
if(cuenta.noti()){ El método mostrar() recibe un
System.out.println("Cuenta sin fondos"); objeto banco como parámetro y
}
muestra la información relevante
de la cuenta, como el número de
}
cuenta, el titular, el saldo y la tasa
de interés anual. Además, si la
cuenta no tiene fondos, se muestra
}
un mensaje adicional.

package bancoapp;

public class banco {

private String usuario;

private float saldo;

private long numero;

private float intAnu;

public banco(String usuario, long numero, float intAnu) {

this.usuario = usuario;

this.numero = numero;

this.intAnu = intAnu;

this.saldo = 0;

public float getSaldo(){

return saldo;

public String getUsuario() {


return usuario;

public void setUsuario(String usuario) {

if(usuario.length() > 0){

this.usuario = usuario;

public long getNumero() {

return numero;

public void setNumero(long numero) {

if(numero > 0){

this.numero = numero;

public float getIntAnu() {

return intAnu;

public void setIntAnu(int intAnu) {

if(intAnu > 0 && intAnu < 1){

this.intAnu = intAnu;

public boolean deposito(float cantidad){

if(cantidad > 0){

this.saldo = this.saldo + cantidad;

return true;

}else{
return false;

public boolean retirar(float cReti){

if(cReti > 0){

if(this.saldo >= cReti){

this.saldo = this.saldo - cReti;

return true;

}else{

En resumen, este código simula una


return false; aplicación bancaria básica que realiza
} depósitos, retiros y cálculos de interés
}else {
en cuentas bancarias. Las cuentas se
crean como instancias de la clase
return false;
banco, y se utilizan métodos para
} interactuar con ellas y mostrar su
}
estado.

public void intMen(){

if(this.saldo > 0){

this.saldo = this.saldo + (this.saldo * this.intAnu)/12;

public boolean noti(){

return saldo == 0;

}
}

import fc.Factorial;
El código es una representación de una interfaz en Java
public class NUMERO extends javax.swing.JFrame { utilizando la biblioteca Swing, algunas partes clave del
código:

Se importa la clase Factorial desde el paquete fc. Pero


public NUMERO() { en el código no se utiliza la clase Factorial.
initComponents(); La clase NUMERO extiende de javax.swing.JFrame, lo
} que indica que es una ventana de la interfaz gráfica de
usuario.

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setBackground(new java.awt.Color(0, 102, 102));


jLabel1.setBackground(new java.awt.Color(255, 255, 0));

jLabel1.setForeground(new java.awt.Color(51, 153, 0));

jLabel1.setText("INGRESA UN NÚMERO");

jTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jTextField1ActionPerformed(evt);

});

jButton1.setForeground(new java.awt.Color(0, 153, 0));

jButton1.setText("CALCULAR");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {


El método jButton1ActionPerformed() es
jButton1ActionPerformed(evt); llamado cuando se hace clic en el botón
} "CALCULAR".
}); El método jTextField1ActionPerformed() se llama
cuando se realiza una acción en el campo de
jLabel2.setBackground(new java.awt.Color(255, 255, 0)); texto.
jLabel2.setFont(new java.awt.Font("MingLiU_HKSCS", 2, 24)); // NOI18N

jLabel2.setForeground(new java.awt.Color(0, 153, 0));

jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel2.setText("factor de numeros");

jLabel3.setBackground(new java.awt.Color(255, 255, 51));

jLabel3.setForeground(new java.awt.Color(0, 153, 0));

jLabel3.setText("jLabel3");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()
.addContainerGap()

.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 592,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(227, 227, 227)

.addComponent(jLabel1))

.addGroup(layout.createSequentialGroup()

.addGap(67, 67, 67)

.addComponent(jLabel3)

.addGap(115, 115, 115)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 141,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(247, 247, 247)

.addComponent(jButton1)))

.addContainerGap(138, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addComponent(jLabel2)

.addGap(18, 18, 18)

.addComponent(jLabel1)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 39,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3))

.addGap(18, 18, 18)

.addComponent(jButton1)

.addContainerGap(109, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new NUMERO().setVisible(true);

});

// Variables declaration - do not modify En resumen, el código define una ventana de


interfaz gráfica de usuario con button de
private javax.swing.JButton jButton1;
texto una etiqueta un botón, como el cálculo
private javax.swing.JLabel jLabel1;
del factorial del número ingresado.
private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JTextField jTextField1;

// End of variables declaration

}
package matricez;

El código es un trabajo de una interfaz de usuario en Java


import java.awt.Color; utilizando la biblioteca Swing.
import javax.swing.JFrame;
Esta interfaz de usuario permite al usuario seleccionar
import javax.swing.JOptionPane;
opciones relacionadas con colores y dimensiones, y luego
aplicar esos cambios a un panel y etiquetas en la ventana
/**

* @author TESCo

*/

public class v1 extends javax.swing.JFrame {


public v1() {

initComponents();

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();

buttonGroup2 = new javax.swing.ButtonGroup();

buttonGroup3 = new javax.swing.ButtonGroup();

jPanel1 = new javax.swing.JPanel();

rad1 = new javax.swing.JRadioButton();

rad2 = new javax.swing.JRadioButton();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

rad4 = new javax.swing.JRadioButton();

rad3 = new javax.swing.JRadioButton();

jButton1 = new javax.swing.JButton();

jLabel3 = new javax.swing.JLabel();

rad5 = new javax.swing.JRadioButton();

rad6 = new javax.swing.JRadioButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setBackground(new java.awt.Color(51, 153, 255));

jPanel1.setBackground(new java.awt.Color(0, 204, 0));

buttonGroup1.add(rad1);

rad1.setText("Rojo");
La variable v1 extiende de javax.swing.JFrame,
rad1.addActionListener(new java.awt.event.ActionListener() {
lo que indica que es una ventana de la interfaz
public void actionPerformed(java.awt.event.ActionEvent evt) { gráfica de usuario.
rad1ActionPerformed(evt);
El constructor v1 inicializa la ventana y llama al
método initComponents().

El método initComponents() es generado


automáticamente y contiene el código para
configurar los componentes de la interfaz de
}

});

buttonGroup1.add(rad2);

rad2.setText("Azul");

rad2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

rad2ActionPerformed(evt);

});

jLabel1.setText("Selecciona el color de tu panel:");

jLabel2.setText("Selecciona el color de las letras:");

buttonGroup2.add(rad4);

rad4.setText("Negro");

buttonGroup2.add(rad3);

rad3.setText("Blanco");

jButton1.setText("Aplicar");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

jLabel3.setText("Selecciona las dimensiones del lienzo:");

buttonGroup3.add(rad5);

rad5.setText("500x500");

buttonGroup3.add(rad6);

rad6.setText("600x600");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(97, 97, 97)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(rad1)

.addComponent(rad2))

.addGap(131, 131, 131)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(rad3)

.addComponent(rad4)))

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(183, 183, 183)

.addComponent(jButton1))

.addGroup(jPanel1Layout.createSequentialGroup()

.addGap(54, 54, 54)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jLabel1)

.addGap(32, 32, 32)

.addComponent(jLabel2))

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(rad5)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(rad6))

.addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING)))))

.addContainerGap(50, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(36, Short.MAX_VALUE)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(rad5)

.addComponent(rad6))

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel1)

.addComponent(jLabel2))

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(rad3)

.addComponent(rad1))

.addGap(34, 34, 34)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(rad2)

.addComponent(rad4))

.addGap(16, 16, 16)

.addComponent(jButton1)

.addGap(50, 50, 50))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,


javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,


javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

);

pack();
}// </editor-fold>

private void rad1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

private void rad2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(rad1.isSelected()){ Los métodos rad1ActionPerformed() y


jPanel1.setBackground(Color.red);
rad2ActionPerformed()se ejecutan cuando se
selecciona una de las opciones de color rojo o azul.
}else if(rad2.isSelected()){
El método jButton1ActionPerformed() se ejecuta
jPanel1.setBackground(Color.blue);
cuando se hace clic en el botón "Aplicar".
}
Este método verifica qué opciones de color y
dimensiones se han seleccionado y aplica esos
if(rad3.isSelected()){ cambios al panel y las etiquetas en la ventana.
jLabel1.setForeground(Color.white); Por ejemplo, si se selecciona el color rojo, se establece
jLabel2.setForeground(Color.white); el fondo del panel en rojo. Si se selecciona el color
negro, se establece el color de las etiquetas en negro.
}else if(rad4.isSelected()){

jLabel1.setForeground(Color.black);

jLabel2.setForeground(Color.black);

if(rad5.isSelected()){

jPanel1.setSize(500, 500);

setSize(500,500);

}else if(rad6.isSelected()){

jPanel1.setSize(600,600);

setSize(600,600);
}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(v1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(v1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(v1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(v1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new v1().setVisible(true);

}
});

// Variables declaration - do not modify

private javax.swing.ButtonGroup buttonGroup1;

private javax.swing.ButtonGroup buttonGroup2;

private javax.swing.ButtonGroup buttonGroup3;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1; En resumen, el código define una ventana de


private javax.swing.JLabel jLabel2; interfaz gráfica de usuario con opciones para
seleccionar colores y dimensiones. Cuando se
private javax.swing.JLabel jLabel3;
hace clic en el botón "Aplicar", los cambios
private javax.swing.JPanel jPanel1; seleccionados se aplican al panel y las
private javax.swing.JRadioButton rad1; etiquetas en la ventana.
private javax.swing.JRadioButton rad2;

private javax.swing.JRadioButton rad3;

private javax.swing.JRadioButton rad4;

private javax.swing.JRadioButton rad5;

private javax.swing.JRadioButton rad6;

// End of variables declaration

}
package practica2;
Primero se importa la clase JOptionPane del
import javax.swing.JOptionPane;
paquete javax.swing para imprimir mensajes
public class ROMAN extends javax.swing.JFrame { a la interfaz de usuario.
public ROMAN () {
La clase ROMAN se declara y se extiende
initComponents(); desde javax.swing.JFrame, lo que indica que
} es una ventana de la aplicación.

En el constructor de la clase ROMAN, se llama


@SuppressWarnings("unchecked") al método initComponents() para inicializar
// <editor-fold defaultstate="collapsed" desc="Generated Code"> los componentes de la interfaz de usuario.
private void initComponents() {

var1 = new javax.swing.JTextField();

var2 = new javax.swing.JTextField();

Limpiar = new javax.swing.JButton();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

var1.setForeground(new java.awt.Color(0, 153, 0));

var1.setHorizontalAlignment(javax.swing.JTextField.CENTER);

var1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

var1ActionPerformed(evt);

});

var1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

var1KeyTyped(evt);

});

var2.setHorizontalAlignment(javax.swing.JTextField.CENTER);

Limpiar.setForeground(new java.awt.Color(0, 153, 0));


Limpiar.setText("Limpiar");

Limpiar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

LimpiarActionPerformed(evt);

});
El método initComponents() crea y configura todos los
componentes de la interfaz de usuario, como los campos
jLabel1.setBackground(new java.awt.Color(0, 51, 0));
de texto var1 y var2 los botones Limpiar
jLabel1.setForeground(new java.awt.Color(0, 204, 0));

jLabel1.setText("Usuario:");
El método LimpiarActionPerformed() se ejecuta cuando se
hace clic en el botón Limpiar

jLabel2.setForeground(new java.awt.Color(0, 153, 0)); El método jButton1ActionPerformed() se ejecuta cuando


se hace clic en el botón Iniciar Sesión Si es así, se muestra
jLabel2.setText("Contraseña:");
un mensaje de bienvenida y se cierra la ventana de inicio
de sesión. De lo contrario, se muestra un mensaje de
jButton1.setForeground(new java.awt.Color(0, 204, 0)); acceso denegado.
jButton1.setActionCommand("Iniciar Sesion");

jButton1.setLabel("Iniciar Sesion");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(104, 104, 104)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(var2, javax.swing.GroupLayout.PREFERRED_SIZE, 191,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(var1, javax.swing.GroupLayout.PREFERRED_SIZE, 191,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()
.addGap(181, 181, 181)

.addComponent(jLabel1))

.addGroup(layout.createSequentialGroup()

.addGap(170, 170, 170)

.addComponent(jLabel2))

.addGroup(layout.createSequentialGroup()

.addGap(165, 165, 165)

.addComponent(Limpiar)))

.addContainerGap(105, Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGap(0, 0, Short.MAX_VALUE)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 122,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(48, 48, 48)

.addComponent(jLabel1)

.addGap(18, 18, 18)

.addComponent(var1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(var2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 45, Short.MAX_VALUE)

.addComponent(jButton1)

.addGap(18, 18, 18)

.addComponent(Limpiar)

.addGap(40, 40, 40))

);

pack();

}// </editor-fold>
private void LimpiarActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

var1.setText(null);

var2.setText(null);

private void var1KeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

if(var1.getText().equals("Roman") && var2.getText().equals("12345")){

this.dispose();

JOptionPane.showMessageDialog(null, "Bienvenido, has ingresado"+

" correctamente al sistema", "Mensaje de bienvenida", JOptionPane.INFORMATION_MESSAGE);

ROMAN v = new ROMAN();

v.setVisible(true);

}else{

JOptionPane.showMessageDialog(null, "Acceso denegado:"+

" usuario y/o contraseña incorrectos", "Acceso denegado", JOptionPane.ERROR_MESSAGE);

private void var1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

/**

* @param args the command line arguments


*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ven1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ven1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ven1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ven1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//</editor-fold>

//</editor-fold>

/* Create and display the form */


El método main() es el punto de entrada
java.awt.EventQueue.invokeLater(new Runnable() { de la aplicación. Se crea una instancia de
public void run() { la clase ROMAN y se hace visible la
new ROMAN().setVisible(true); ventana de inicio de sesión.
}

});

// Variables declaration - do not modify

private javax.swing.JButton Limpiar;


private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JTextField var1;

private javax.swing.JTextField var2;

// End of variables declaration

}
package trabajo;

import javax.swing.JOptionPane; La línea import javax.swing.JOptionPane; importa la clase


JOptionPane de la biblioteca Swing, que se utiliza para
public class roman extends javax.swing.JFrame {
mostrar mensajes emergentes en la GUI.

/**
La clase roman extiende de javax.swing.JFrame, lo que
indica que es una ventana de la interfaz gráfica.
* Creates new form ven

*/ El constructor roman() inicializa la interfaz gráfica y llama


al método initComponents().
public roman() {

initComponents(); El método initComponents() se generado


automáticamente por el editor de formularios de
}
NetBeans

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

d2 = new javax.swing.JTextField();

d1 = new javax.swing.JTextField();

jLabel1 = new javax.swing.JLabel();

comparar = new javax.swing.JButton();

resta = new javax.swing.JLabel();

suma = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

d2.setForeground(new java.awt.Color(0, 204, 0));

d2.setHorizontalAlignment(javax.swing.JTextField.CENTER);

d2.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

d2KeyTyped(evt);
}

});

d1.setForeground(new java.awt.Color(0, 153, 0));

d1.setHorizontalAlignment(javax.swing.JTextField.CENTER);

d1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

d1KeyTyped(evt);

});

jLabel1.setBackground(new java.awt.Color(0, 0, 204));

jLabel1.setForeground(new java.awt.Color(0, 153, 0));

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel1.setText("Digita dos numeros");

jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

comparar.setForeground(new java.awt.Color(0, 102, 0));

comparar.setText("Operar");

comparar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

compararActionPerformed(evt);

});

jLabel2.setForeground(new java.awt.Color(0, 153, 0));

jLabel2.setText("Suma");

jLabel3.setForeground(new java.awt.Color(0, 153, 0));

jLabel3.setText("Resta");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)

.addComponent(comparar, javax.swing.GroupLayout.PREFERRED_SIZE, 183,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(107, 107, 107))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(109, 109, 109)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 183,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(92, 92, 92)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addGroup(layout.createSequentialGroup()

.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 68,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(95, 95, 95)

.addComponent(d2, javax.swing.GroupLayout.PREFERRED_SIZE, 68,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(suma, javax.swing.GroupLayout.PREFERRED_SIZE, 63,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel3)

.addComponent(resta, javax.swing.GroupLayout.PREFERRED_SIZE, 63,


javax.swing.GroupLayout.PREFERRED_SIZE))))))

.addContainerGap(77, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(59, 59, 59)

.addComponent(jLabel1)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()
.addGap(46, 46, 46)

.addComponent(d2, javax.swing.GroupLayout.PREFERRED_SIZE, 31,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(47, 47, 47)

.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 31,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(39, 39, 39)

.addComponent(comparar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

.addComponent(jLabel3))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(suma, javax.swing.GroupLayout.DEFAULT_SIZE, 21, Short.MAX_VALUE)

.addComponent(resta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,


Short.MAX_VALUE))

.addContainerGap())

);

pack();

}// </editor-fold>

private void compararActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int num1 = 0;

int num2 = 0;

num1 = Integer.parseInt(d1.getText());

num2 = Integer.parseInt(d2.getText());

// JOptionPane.showMessageDialog(null, num1+" es mayor que


"+num2,"Resultado",JOptionPane.INFORMATION_MESSAGE);

//d1.setText("");

//d2.setText("");
suma.setText(num1+num2+"");

resta.setText(num1-num2+"");

Los componentes en la ventana se declaran como


} variables de instancia en la parte superior de la
clase, por ejemplo: d2, d1, jLabel1, comparar,
private void d1KeyTyped(java.awt.event.KeyEvent evt) {
resta, suma, jLabel2, jLabel3. Son etiquetas y
botones
// TODO add your handling code here:

int key = evt.getKeyChar(); El método compararActionPerformed() se ejecuta


cuando se hace clic en el botón "Operar". Obtiene
boolean n = key >= 48 && key <= 57;
los valores ingresados en los campos de texto d1 y
d2, los convierte en enteros y realiza operaciones
if(!n){ matemáticas con ellos. Luego, establece los
resultados en las etiquetas suma y resta.
evt.consume();

if(d1.getText().trim().length() == 3){

evt.consume();

private void d2KeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

int key = evt.getKeyChar();

boolean n = key >= 48 && key <= 57;

if(!n){

evt.consume();

if(d2.getText().trim().length() == 3){

evt.consume();

}
}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ven2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ven2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ven2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ven2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//</editor-fold>

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new roman().setVisible(true);

}
});

// Variables declaration - do not modify

private javax.swing.JButton comparar;

private javax.swing.JTextField d1;

private javax.swing.JTextField d2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel resta;

private javax.swing.JLabel suma;

// End of variables declaration

}
package trabajo;

import javax.swing.JOptionPane;

public class clase extends javax.swing.JFrame { initComponents(), que inicializa todos los componentes
public clase() { de la interfaz gráfica.
initComponents();
El método initComponents() crea y configura los
} componentes de la GUI

El método compararActionPerformed() se ejecuta


@SuppressWarnings("unchecked") cuando se hace clic en el botón "COMPARAR". Dentro de
// <editor-fold defaultstate="collapsed" desc="Generated Code"> este método, se obtienen los valores ingresados por el
private void initComponents() {
usuario en los campos de texto d1 y d2 y se convierten
en números enteros utilizando Integer.parseInt().

d2 = new javax.swing.JTextField();

d1 = new javax.swing.JTextField();

jLabel1 = new javax.swing.JLabel();

comparar = new javax.swing.JButton();

signo = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

d2.setForeground(new java.awt.Color(0, 255, 0));

d2.setHorizontalAlignment(javax.swing.JTextField.CENTER);

d2.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

d2KeyTyped(evt);

});

d1.setForeground(new java.awt.Color(51, 255, 51));

d1.setHorizontalAlignment(javax.swing.JTextField.CENTER);

d1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

d1KeyTyped(evt);

}
});

jLabel1.setForeground(new java.awt.Color(0, 153, 0));

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel1.setText("COMPARA TUS NUMEROS");

jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); Despues se realiza una comparación


entre los números y se muestra un
comparar.setForeground(new java.awt.Color(0, 153, 0)); mensaje emergente
comparar.setText("COMPARAR");
(JOptionPane.showMessageDialog())
indicando si el primer número es mayor
comparar.addActionListener(new java.awt.event.ActionListener() {
que el segundo, menor que el segundo o
public void actionPerformed(java.awt.event.ActionEvent evt) { igual al segundo.
compararActionPerformed(evt);

});

signo.setBackground(new java.awt.Color(255, 255, 255));

signo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

signo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(92, 92, 92)

.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 68,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(32, 32, 32)

.addComponent(signo, javax.swing.GroupLayout.PREFERRED_SIZE, 35,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(28, 28, 28)

.addComponent(d2, javax.swing.GroupLayout.PREFERRED_SIZE, 68,


javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(109, 109, 109)


.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
javax.swing.GroupLayout.PREFERRED_SIZE)))

.addContainerGap(77, Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addGap(0, 0, Short.MAX_VALUE)

.addComponent(comparar, javax.swing.GroupLayout.PREFERRED_SIZE, 183,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(106, 106, 106))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(59, 59, 59)

.addComponent(jLabel1)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(46, 46, 46)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(d2, javax.swing.GroupLayout.PREFERRED_SIZE, 31,


javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(signo, javax.swing.GroupLayout.PREFERRED_SIZE, 31,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addGap(47, 47, 47)

.addComponent(d1, javax.swing.GroupLayout.PREFERRED_SIZE, 31,


javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(53, 53, 53)

.addComponent(comparar)

.addContainerGap(47, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void compararActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

Los métodos d1KeyTyped() y d2KeyTyped()


int num1 = 0; manejan el evento de pulsación de tecla para los
campos de texto d1 y d2, respectivamente. Estos
métodos permiten que solo se ingresen dígitos
numéricos en los campos de texto y limitan la
longitud máxima del texto a 3 caracteres.
int num2 = 0;

num1 = Integer.parseInt(d1.getText());

num2 = Integer.parseInt(d2.getText());

if(num1 > num2){

signo.setText(">");

JOptionPane.showMessageDialog(null, num1+" es mayor que


"+num2,"Resultado",JOptionPane.INFORMATION_MESSAGE);

signo.setText("");

d1.setText("");

d2.setText("");

}else if(num2 > num1){

signo.setText("<");

JOptionPane.showMessageDialog(null, num1+" es menor que


"+num2,"Resultado",JOptionPane.INFORMATION_MESSAGE);

signo.setText("");

d1.setText("");

d2.setText("");

}else{

signo.setText("==");

JOptionPane.showMessageDialog(null, num1+" son iguales


"+num2,"Resultado",JOptionPane.INFORMATION_MESSAGE);

signo.setText("");

d1.setText("");

d2.setText("");

private void d1KeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

int key = evt.getKeyChar();

boolean n = key >= 48 && key <= 57;


if(!n){

evt.consume();

if(d1.getText().trim().length() == 3){

evt.consume();

private void d2KeyTyped(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

int key = evt.getKeyChar();

boolean n = key >= 48 && key <= 57;

if(!n){

evt.consume();
El método main() es el punto de entrada
} principal del programa. Aquí se configura el
aspecto visual de la interfaz de usuario
(LookAndFeel) y se crea una instancia de la
if(d2.getText().trim().length() == 3){
clase clase, que muestra la ventana de la
evt.consume(); aplicación al invocar el método setVisible
} que determina si es verdadero

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ven.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ven.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ven.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ven.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new clase().setVisible(true);

});

// Variables declaration - do not modify

private javax.swing.JButton comparar;

private javax.swing.JTextField d1;

private javax.swing.JTextField d2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel signo;

// End of variables declaration

También podría gustarte