Sei sulla pagina 1di 69

Universidad del Valle

Facultad de Ingeniería
Escuela de Ingeniería y Computación

Algoritmia y Programación

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
Agenda
• GUI

– JLabel
– JTextField
– Jbutton
– Jframe
– Container
– FloatLayout

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
Estructuras de Control
Condicionales

Material Originalmente Realizado por el


Profesor Oscar Bedoya

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

•Desarrollo de GUI (Interfaz Gráfica con el Usuario)

Aplicaciones que presentan una interfaz gráfica


avanzada
con el usuario, es decir, aquellas aplicaciones que
incluyen
botones, menues, campos de texto, listas de selección

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

Desarrollo de GUI (Interfaz gráfica con el usuario)

JFrame

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Desarrollo de GUI (Interfaz gráfica con el usuario)

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

JLabel(etiqueta)
JTextField(campo de texto)
JButton(botón)

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
* JLabel(etiqueta): Mensaje que aparece en un JFrame para
aclararle(informarle) al usuario cómo interactuar con la ventana

* JButton(botón): Se asocia a una operación a realizar en el JFrame


* JTextField(campo de texto): Puede permitir tanto la entrada como la
salida de datos

JLabel(Etiqueta)
JTextField(campo de texto)
JButton(botón)

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

¿Cuántas etiquetas, campos de texto


y botones tiene el JFrame?

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

JLabel JTextField
JButton
JLabel
JTextField

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

• Campo de texto (JTextField)

Declarar un campo de texto:


JTextField nombre;
Crear un campo de texto:
nombre=new JTextField(5);
donde 5 es el tamaño del campo de texto

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

JTextField de 5 columnas

JTextField de 10 columnas

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Campo de texto (JTextField)

Declarar un campo de texto:


JTextField TFValorA;
Crear un campo de texto:
TFValorA=new JTextField(5);
donde 5 es el tamaño del campo de texto.

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Etiquetas (JLabel)

Declarar una etiqueta:


JLabel nombre;
Crear una etiqueta:
nombre = new JLabel(“Número a ”);
donde Número a es el mensaje que aparecerá en la
ventana

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

JLabel con texto


“Numero a”
JLabel con texto
“Resultado”

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Etiquetas (JLabel)

Declarar una etiqueta:


JLabel LValorA;
Crear una etiqueta:
LValorA = new JLabel(“Número a ”);
donde Número a es el mensaje que aparecerá en la
ventana

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Botones (JButton)

Declarar un botón:
JButton nombre;
Crear un botón:
nombre=new JButton(“ Pow(a,2) “ );
donde Pow(a,2) es el texto que aparece en el botón

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

JButton

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Botones (JButton)

Declarar un botón:
JButton BEncontrarPotencia;
Crear un botón:
BEncontrarPotencia=new JButton(“ Pow(a,2) “ );
donde Pow(a,2) es el texto que aparece en el botón

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

LValorA TFValorA
BEncontrarPotencia
LResultado
TFResultado

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

LValorA

TFValorA

BEncontrarPotencia

LResultado

TFResultado

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
¿Cómo colocar los elementos
en el JFrame de tal manera
LValorA que aparezcan de la forma
deseada?
TFValorA

BEncontrarPotencia

LResultado

TFResultado

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Cada elemento que hará parte
del JFrame, se debe adicionar
a un contenedor

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
• Para que los elementos botón, etiqueta y campo de texto se
vean en una ventana se debe crear un contenedor y
adicionarlos a él:
Container contenedor; //se declara el contenedor
contenedor = getContentPane(); //se crea el contenedor
contenedor.add(LValorA); //adiciona la etiqueta LValorA
contenedor.add(TFValorA); //adiciona el campo de texto TFValorA
contenedor.add(BEncontrarPotencia); //adiciona el botón BEncon...

El orden en el cual se adicionen los elementos al


contenedor determina el orden en el que
aparecerán en la ventana

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
contenedor.add(LValorA)

contenedor.add(TFValorA)

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Container contenedor;
contenedor = getContentPane();
contenedor.add(LValorA);
contenedor.add(TFValorA);
contenedor.add(BEncontrarPotencia);
contenedor.add(???);
contenedor.add(???);

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Container contenedor;
contenedor = getContentPane();
contenedor.add(LValorA);
contenedor.add(TFValorA);
contenedor.add(BEncontrarPotencia);
contenedor.add(LResultado);
contenedor.add(TFResultado);

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Para organizar los componentes en el contenedor
se utilizan las instrucciones:
FlowLayout miFlow; //declara el FlowLayout
miFlow = new FlowLayout(); //crea un FlowLayout
// alineación al centro
contenedor.setLayout(miFlow);
El método setLayout permite establecer un
administrador de los elementos que se adicionarán a
la ventana

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
contenedor = getContentPane();
import java.awt.*;
miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
contenedor.add(LValorA);
Container contenedor;
contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado;
contenedor.add(LResultado);
JTextField TFValorA, TFResultado;
contenedor.add(TFResultado);
JButton BEncontrarPotencia;

}
PowGUI(){
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(5);
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
Heredar de la contenedor = getContentPane();
import java.awt.*;
clase JFrame miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
contenedor.add(LValorA);
Container contenedor;
contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado;
contenedor.add(LResultado);
JTextField TFValorA, TFResultado;
contenedor.add(TFResultado);
JButton BEncontrarPotencia;

}
PowGUI(){
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(5);
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
Heredar de la contenedor = getContentPane();
import java.awt.*;
clase JFrame miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
Definir contenedor.add(LValorA);
Container contenedor;
los contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado; elementos
contenedor.add(LResultado);
JTextField TFValorA, TFResultado; de la
contenedor.add(TFResultado);
JButton BEncontrarPotencia; ventana
}
PowGUI(){
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(5);
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
Heredar de la contenedor = getContentPane();
import java.awt.*;
clase JFrame miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
Definir contenedor.add(LValorA);
Container contenedor;
los contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado; elementos
contenedor.add(LResultado);
JTextField TFValorA, TFResultado; de la
contenedor.add(TFResultado);
JButton BEncontrarPotencia; ventana
}
PowGUI(){ Método Constructor
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(5);
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
Heredar de la contenedor = getContentPane();
import java.awt.*;
clase JFrame miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
Definir contenedor.add(LValorA);
Container contenedor;
los contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado; elementos
contenedor.add(LResultado);
JTextField TFValorA, TFResultado; de la
contenedor.add(TFResultado);
JButton BEncontrarPotencia; ventana
}
PowGUI(){ Método Constructor
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado "); Crear los elementos
TFValorA = new JTextField(5);
gráficos definidos
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
Heredar de la contenedor = getContentPane();
import java.awt.*;
clase JFrame miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class PowGUI extends JFrame
implements ActionListener{
int a, potencia;
Definir contenedor.add(LValorA);
Container contenedor;
los contenedor.add(TFValorA);
FlowLayout miFlow;
contenedor.add(BEncontrarPotencia);
JLabel LValorA, LResultado; elementos
contenedor.add(LResultado);
JTextField TFValorA, TFResultado; de la
contenedor.add(TFResultado);
JButton BEncontrarPotencia; ventana
}
PowGUI(){ Método Constructor
}
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado "); Crear los elementos
TFValorA = new JTextField(5);
gráficos definidos
TFResultado = new JTextField(10);
BEncontrarPotencia = new JButton(" Pow(a,2) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

Problema: Desarrollar la siguiente GUI

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
contenedor = getContentPane();
import java.awt.*;
miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class MatGUI extends JFrame
implements ActionListener{
int a, b, potencia, maximo; contenedor.add(LValorA);
Container contenedor;
contenedor.add(TFValorA);
FlowLayout miFlow;
JLabel LValorA, LValorB, LResultado; contenedor.add(LValorB);
JTextField TFValorA, TFValorB, TFResultado; contenedor.add(TFValorB);
JButton BEncontrarPotencia, BEncontrarMaximo;
contenedor.add(BEncontrarPotencia);
MatGUI(){
LValorA = new JLabel("Numero a"); contenedor.add(BEncontrarMaximo);
LValorB = new JLabel("Numero B"); contenedor.add(LResultado);
LResultado = new JLabel("Resultado ");
contenedor.add(TFResultado);
TFValorA = new JTextField(10);
TFValorB = new JTextField(10); }
TFResultado = new JTextField(15); }
BEncontrarPotencia = new JButton(" pow(a,b) ");
BEncontrarMaximo = new JButton(" max(a,b) ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
TFValorA
¿Cual es la secuencia de
acciones que debe ocurrir
cuando se presione el botón
Pow(a,2)?

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe
hacer:

1. Tomar el número en el campo


de texto del número a,
llamado TFValorA
2. Elevar el número al cuadrado
3. Colocar el resultado en el
campo de texto para el
TFResultado resultado TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe
hacer:

1. Tomar el número en el campo


de texto del número a,
llamado TFValorA
2. Elevar el número al cuadrado
3. Colocar el resultado en el
campo de texto para el
TFResultado resultado TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Para conocer qué valor escribió el
usuario en el campo de texto, se
coloca:
TFValorA.getText()

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Para conocer qué valor escribió el
usuario en el campo de texto, se
coloca:
TFValorA.getText()

Nombre del Método para conocer lo


campo de que está escrito en el
texto campo

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe hacer:
1. Tomar el número en el campo de texto
llamado TFValorA
a=Integer.parseInt(TFValorA.getText());
TFValorA.getText() captura el valor en el
campo de texto TFValorA

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe hacer:
1. Tomar el número en el campo de texto
llamado TFValorA
a=Integer.parseInt(TFValorA.getText());
TFValorA.getText() captura el valor en el
campo de texto TFValorA
2. Elevar el número al cuadrado
potencia=a*a;

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA Al presionar el botón se debe hacer:
1. Tomar el número en el campo de texto
llamado TFValorA
a=Integer.parseInt(TFValorA.getText());
TFValorA.getText() captura el valor en el
campo de texto TFValorA

2. Elevar el número al cuadrado


potencia=a*a;
3. Colocar el resultado en el campo de texto
para el resultado TFResultado
TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Para colocar un valor en un campo
de texto, se coloca:
TFResultado.setText(valor)

Nombre del Método para colocar un


campo de valor en el campo
texto

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe hacer:
1. Tomar el número en el campo de texto llamado TFValorA
a=Integer.parseInt(TFValorA.getText());
TFValorA.getText() captura el valor en el campo de texto
TFValorA
2. Elevar el número al cuadrado
potencia=a*a;
3. Colocar el resultado en el campo de texto para el resultado
TFResultado
TFResultado.setText(String.valueOf(potencia));
TFResultado.setText() coloca el mensaje en el campo de
texto TFResultado, String.valueOf convierte un número a
String
TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI

Para que se ejecuten las instrucciones cuando se


presione un botón, se le debe adicionar un OYENTE
al botón

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

public void actionPerformed(ActionEvent e){

a=Integer.parseInt(TFValorA.getText());
potencia=a*a;
TFResultado.setText(String.valueOf(potencia));
}

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
public void actionPerformed(ActionEvent e){
if (e.getSource() = = BEncontrarPotencia ){
a=Integer.parseInt(TFValorA.getText());
potencia=a*a;
TFResultado.setText(String.valueOf(potencia));
}
}

Si la fuente del evento fue el


botón BEncontrarPotencia…
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
import javax.swing.*; BEncontrarPotencia.addActionListener(this);
import java.awt.*; contenedor.add(LValorA);
import java.awt.event.*; contenedor.add(TFValorA);
public class PowGUI extends JFrame{ contenedor.add(BEncontrarPotencia);
int a, potencia; contenedor.add(LResultado);
Container contenedor; contenedor.add(TFResultado);
FlowLayout miFlow; }
JLabel LValorA, LResultado; public void actionPerformed(ActionEvent e){
JTextField TFValorA, TFResultado; if (e.getSource()==BEncontrarPotencia){
JButton BEncontrarPotencia; a=Integer.parseInt(TFValorA.getText());
potencia=a*a;
PowGUI(){ TFResultado.setText(String.valueOf(potencia));
LValorA = new JLabel("Numero a"); }
LResultado = new JLabel("Resultado "); }}
TFValorA = new JTextField(5);
TFResultado = new JTextField(10); }
BEncontrarPotencia = new JButton(" Pow(a,2) ");

contenedor = getContentPane();
miFlow = new FlowLayout();
contenedor.setLayout(miFlow);

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

BEncontrarPotencia.addActionListener(this);

El método addActionListener permite adicionar el


oyente al botón BEncontrarPotencia

En el oyente se encuentra el conjunto de


instrucciones que se deben realizar cuando se oprima
el botón

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI

Estructura del método main

public static void main(String a[]){


PowGUI aplicacion = new PowGUI(); Ancho y Alto
aplicacion.setSize(150,160); del JFrame
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
aplicacion.show();
}

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Problema: Desarrollar una GUI que permita
calcular la raíz cuadrada de un número real. Se
debe cumplir con la siguiente interfaz gráfica:

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
import javax.swing.*;
contenedor = getContentPane();
import java.awt.*;
miFlow = new FlowLayout();
import java.awt.event.*;
contenedor.setLayout(miFlow);
public class RaizGUI extends JFrame
contenedor.add(LValorA);
implements ActionListener{
double a; contenedor.add(TFValorA);
double raiz; contenedor.add(BEncontrarRaiz);
Container contenedor; contenedor.add(LResultado);
FlowLayout miFlow; contenedor.add(TFResultado);
JLabel LValorA, LResultado;
JTextField TFValorA, TFResultado; }
JButton BEncontrarRaiz;
RaizGUI(){
LValorA = new JLabel("Numero a");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(10);
TFResultado = new JTextField(15);
BEncontrarRaiz = new JButton(" Raiz 2 de a ");

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
TFValorA
Al presionar el botón se debe hacer:
1. Tomar el número del campo de texto llamado
TFValorA

2. Calcular la raíz cuadrada de a

3. Colocar el resultado en el campo de texto


para el resultado TFResultado

TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
GUI
TFValorA Al presionar el botón se debe hacer:
1. Tomar el número del campo de texto llamado
TFValorA
a=Double.parseDouble(TFValorA.getText());

2. Calcular la raíz cuadrada de a


raiz=Math.sqrt(a);
3. Colocar el resultado en el campo de texto para el
resultado TFResultado
TFResultado.setText(String.valueOf(raiz));
TFResultado
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
import javax.swing.*;
contenedor = getContentPane();
import java.awt.*;
miFlow = new FlowLayout();
import java.awt.event.*;
BEncontrarRaiz.addActionListener(this);
public class RaizGUI extends JFrame
contenedor.setLayout(miFlow);
implements ActionListener{
contenedor.add(LValorA);
double a;
contenedor.add(TFValorA);
double raiz;
contenedor.add(BEncontrarRaiz);
Container contenedor;
contenedor.add(LResultado);
FlowLayout miFlow;
contenedor.add(TFResultado);
JLabel LValorA, LResultado;
}
JTextField TFValorA, TFResultado;
public void actionPerformed(ActionEvent e){
JButton BEncontrarRaiz;
if (e.getSource()==BEncontrarRaiz()){
RaizGUI(){
a=Double.parseDouble(TFValorA.getText());
LValorA = new JLabel("Numero a");
raiz= Math.sqrt(a);
LResultado = new JLabel("Resultado ");
TFResultado.setText(String.valueOf(raiz));
TFValorA = new JTextField(10);
}
TFResultado = new JTextField(15);
}}
BEncontrarRaiz = new JButton(" Raiz 2 de a ");
}

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Problema: Desarrollar la siguiente GUI que permite
calcular pow(a,b) y max(a,b) sobre números enteros:

La ventana presenta 2 botones, por lo tanto el oyente debe


reconocer cuál fue el botón que el usuario oprimió
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
BEncontrarPotencia.addActionListener(this);
import javax.swing.*; BEncontrarMaximo.addActionListener(this);
import java.awt.*; contenedor.add(TFValorA);
import java.awt.event.*; contenedor.add(LValorB);
public class MatGUI extends JFrame contenedor.add(TFValorB);
implements ActionListener{ contenedor.add(BEncontrarPotencia);
int a, b, potencia, maximo; contenedor.add(BEncontrarMaximo);
Container contenedor; contenedor.add(LResultado);
FlowLayout miFlow; contenedor.add(TFResultado);
JLabel LValorA, LValorB, LResultado; }
JTextField TFValorA, TFValorB, TFResultado;
}
JButton BEncontrarPotencia, BEncontrarMaximo;

MatGUI(){
LValorA = new JLabel("Numero a"); TFValorA TFValorB
LValorB = new JLabel("Numero B");
LResultado = new JLabel("Resultado ");
TFValorA = new JTextField(10); LValorA
TFValorB = new JTextField(10);
TFResultado = new JTextField(15); LValorB
BEncontrarPotencia = new JButton(" pow(a,b) "); BEncontrarPotencia
BEncontrarMaximo = new JButton(" max(a,b) ");
LResultado
contenedor = getContentPane();
miFlow = new FlowLayout();
contenedor.setLayout(miFlow);
contenedor.add(LValorA);
TFresultado BEncontrarMaximo

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
TFValorA TFValorB Al presionar el botón pow(a,b) se debe
hacer:
1. Tomar el número del campo de texto
llamado TFValorA, almacenarlo en a
Tomar el número del campo de texto
llamado TFValorB, almacenarlo en b

TFresultado
2. Calcular a elevado a la b

3. Colocar el resultado en el campo de texto


para el resultado TFResultado

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Al presionar el botón pow(a,b) se debe hacer:
TFValorA TFValorB 1. Tomar el número del campo de texto llamado
TFValorA, almacenarlo en a
a=Integer.parseInt(TFValorA.getText());
Tomar el número del campo de texto llamado
TFValorB, almacenarlo en b
b=Integer.parseInt(TFValorB.getText());
2. Calcular a elevado a la b
potencia=Math.pow(a,b);
TFresultado 3. Colocar el resultado en el campo de texto para el
resultado TFResultado
TFResultado.setText(String.valueOf(potencia));

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
BEncontrarPotencia.addActionListener(this);
import javax.swing.*; BEncontrarMaximo.addActionListener(this);
import java.awt.*; contenedor.add(TFValorA);
import java.awt.event.*; contenedor.add(LValorB);
public class MatGUI extends JFrame{ contenedor.add(TFValorB);
int a, b, potencia, maximo; contenedor.add(BEncontrarPotencia);
Container contenedor; contenedor.add(BEncontrarMaximo);
FlowLayout miFlow; contenedor.add(LResultado);
JLabel LValorA, LValorB, LResultado; contenedor.add(TFResultado);
JTextField TFValorA, TFValorB, TFResultado; }
JButton BEncontrarPotencia, BEncontrarMaximo; public void actionPerformed(ActionEvent e){
if (e.getSource== BEncontrarPotencia){
MatGUI(){ a=Integer.parseInt(TFValorA.getText());
LValorA = new JLabel("Numero a"); b=Integer.parseInt(TFValorB.getText());
LValorB = new JLabel("Numero B"); potencia=(int)Math.pow(a,b);
LResultado = new JLabel("Resultado "); TFResultado.setText(String.valueOf(potencia));
TFValorA = new JTextField(10); }
TFValorB = new JTextField(10); }
TFResultado = new JTextField(15);
BEncontrarPotencia = new JButton(" pow(a,b) ");
}
BEncontrarMaximo = new JButton(" max(a,b) ");
contenedor = getContentPane();
miFlow = new FlowLayout();
contenedor.setLayout(miFlow);
contenedor.add(LValorA);

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Al presionar el botón max(a,b) se debe
TFValorA TFValorB
hacer:
1. Tomar el número del campo de texto
llamado TFValorA, almacenarlo en a
Tomar el número del campo de texto
llamado TFValorB, almacenarlo en b

2. Calcular el máximo entre a y b


TFresultado

3. Colocar el resultado en el campo de


texto para el resultado TFResultado

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Al presionar el botón max(a,b) se debe hacer:
TFValorA TFValorB
1. Tomar el número del campo de texto llamado
TFValorA, almacenarlo en a
a=Integer.parseInt(TFValorA.getText());
Tomar el número del campo de texto llamado
TFValorB, almacenarlo en b
b=Integer.parseInt(TFValorB.getText());
2. Calcular el maximo entre a y b
TFresultado
maximo=Math.max(a,b);
3. Colocar el resultado en el campo de texto para el
resultado TFResultado
TFResultado.setText(String.valueOf(maximo));
Escuela de Ingeniería de Sistemas y Computación
Algoritmia y Programación
BEncontrarPotencia.addActionListener(this);
import javax.swing.*; BEncontrarMaximo.addActionListener(this);
import java.awt.*; contenedor.add(TFValorA);
import java.awt.event.*; contenedor.add(LValorB);
public class MatGUI extends JFrame{ contenedor.add(TFValorB);
int a, b, potencia, maximo; contenedor.add(BEncontrarPotencia);
Container contenedor; contenedor.add(BEncontrarMaximo);
FlowLayout miFlow; contenedor.add(LResultado);
JLabel LValorA, LValorB, LResultado; contenedor.add(TFResultado);
JTextField TFValorA, TFValorB, TFResultado; }
JButton BEncontrarPotencia, BEncontrarMaximo; public void actionPerformed(ActionEvent e){
if (e.getSource()==BencontrarPotencia){
MatGUI(){ a=Integer.parseInt(TFValorA.getText());
LValorA = new JLabel("Numero a"); b=Integer.parseInt(TFValorB.getText());
LValorB = new JLabel("Numero B"); potencia=(int)Math.pow(a,b);
LResultado = new JLabel("Resultado "); TFResultado.setText(String.valueOf(potencia));
TFValorA = new JTextField(10); }
TFValorB = new JTextField(10); if (e.getSource()==BencontrarMaximo){
TFResultado = new JTextField(15); a=Integer.parseInt(TFValorA.getText());
BEncontrarPotencia = new JButton(" pow(a,b) "); b=Integer.parseInt(TFValorB.getText());
BEncontrarMaximo = new JButton(" max(a,b) "); maximo=(int)Math.max(a,b);
contenedor = getContentPane(); TFResultado.setText(String.valueOf(maximo));
miFlow = new FlowLayout(); }
contenedor.setLayout(miFlow);
}}
contenedor.add(LValorA);

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
GUI
Desarrollar la siguiente GUI:

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación
Gracias

Escuela de Ingeniería de Sistemas y Computación


Algoritmia y Programación

Potrebbero piacerti anche