Beruflich Dokumente
Kultur Dokumente
TRABAJO DE HIPERMEDIALES
OBJETIVOS.
En este apartado analizaremos los contenidos básicos que debe llegar a tener
nuestro programa, como son:
1. ACCESO A UN MÉTODO.
3. SENTENCIA RETURN.
Estos son los principales aspectos que deberá tener nuestro programa, a
continuación pasaremos a verlos cada uno de ellos.
Los métodos son funciones que pueden ser llamadas dentro de la clase o por
otras clases. La implementación de un método consta de dos partes, una
declaración y un cuerpo. La declaración en Java de un método se puede
expresar esquemáticamente como:
Control de Acceso
private
protected
public
package
Nadie desde fuera del paquete puede construir una instancia de la clase. Esto
es útil si se quiere tener acceso a las clases del paquete para crear instancias
de la clase, pero que nadie más pueda hacerlo, con lo cual se restringe quien
puede crear instancias de la clase.
En Java y en C++, una instancia de una clase, un objeto, contiene todas las
variables y métodos de instancia de la clase y de todas sus superclases. Sin
embargo, los dos lenguajes soportan la posibilidad de sobreescribir un
método declarado en una superclase, indicando el mismo nombre y misma
lista de argumentos; aunque los procedimientos para llevar a cabo esto son
totalmente diferentes en Java y en C++.
Paso de argumentos
class Test {
void meth(int i, int j) {
i *= 2;
j /= 2;
}
}
class CallByValue {
public static void main(String args[]) {
Test ob = new Test();
int a = 15, b = 20;
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
Con este pequeño ejemplo quiero demostrar a lo que se refiere con "Paso de
argumentos", en donde nos explican que este paso
puede ser de tipo simple, y que siempre será por valor, en el ejemplo hemos
creado un método "meth" que recibe dos valores de tipo
entero (int) y son "i" y "j", y a los cuales se les multiplica y divide por 2
respectivamente.
Para poder llamar al método solo debemos crear un objeto tipo "Test" dado
que a esta clase pertenece el método "meth", y como
podemos apreciar se le llama haciendo la siguiente sentencia:
ob.meth(a,b);
donde a y b son dos objetos tipo entero (int) y que concuerdan con los
argumentos que requiere el método para trabajar, si mandamos un
tipo diferente de objetos el método nos dará un mensaje de error.
Sentencia return
La sentencia de salto es la sentencia return, que puede usar para salir del
método en curso y retornar a la sentencia dentro de la cual se realizó la
llamada.
Ejemplo:
int contador;
boolean condicion;
int devuelveContadorIncrementado(){
return ++contador;
PROGRAMA
El programa que desarrollamos esta realizado en la herramientas NETBEANS
6.5.1 la cual utiliza como lenguaje base JAVA, esta nos da también una mejor
interface para el usuario, a continuación dejamos el código fuente de nuestro
programa, el programa tiene como fuente el JFrame.
* Rectangulo.java
package rectangulo;
import java.awt.Color;
import java.awt.Graphics;
public Rectangulo() {
initComponents();
base=0;
altura=0;
area=0;
perimetro=0;
*/
@SuppressWarnings("unchecked")
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("RECTÁNGULO");
calcularbt.addActionListener(new java.awt.event.ActionListener() {
calcularbtActionPerformed(evt);
});
basetxt.addActionListener(new java.awt.event.ActionListener() {
basetxtActionPerformed(evt);
});
basetxt.addKeyListener(new java.awt.event.KeyAdapter() {
basetxtKeyReleased(evt);
});
alturatxt.addActionListener(new java.awt.event.ActionListener() {
alturatxtActionPerformed(evt);
});
alturatxt.addKeyListener(new java.awt.event.KeyAdapter() {
alturatxtKeyReleased(evt);
});
jLabel2.setText("BASE");
jLabel3.setText("ALTURA");
areatxt.addActionListener(new java.awt.event.ActionListener() {
areatxtActionPerformed(evt);
});
areatxt.addKeyListener(new java.awt.event.KeyAdapter() {
areatxtKeyReleased(evt);
});
jLabel4.setText("ÁREA");
pertxt.addActionListener(new java.awt.event.ActionListener() {
pertxtActionPerformed(evt);
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
});
pertxt.addKeyListener(new java.awt.event.KeyAdapter() {
pertxtKeyReleased(evt);
});
jLabel5.setText("PERÍMETRO");
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()
.addGroup(layout.createSequentialGroup()
.addComponent(calcularbt))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel2)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5)))
.addContainerGap(156, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(basetxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
.addComponent(alturatxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addComponent(calcularbt)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(areatxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(pertxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
String aux=basetxt.getText().trim();
if(aux.length()>0){
for(int i=0;i<aux.length();i++){
char let=aux.charAt(i);
if(Character.isLetter(let)){
jLabel2.setText("error");
calcularbt.setEnabled(false);
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
else{
jLabel2.setText("BASE");
calcularbt.setEnabled(true);
String aux=alturatxt.getText().trim();
if(aux.length()>0){
for(int i=0;i<aux.length();i++){
char let=aux.charAt(i);
if(Character.isLetter(let)){
jLabel3.setText("error");
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
calcularbt.setEnabled(false);
else{
jLabel3.setText("ALTURA");
calcularbt.setEnabled(true);
String aux=basetxt.getText().trim();
base=Double.parseDouble(aux);
aux=alturatxt.getText().trim();
altura=Double.parseDouble(aux);
area=base*altura;
perimetro=(base*2)+(altura*2);
areatxt.setText(area+"");
pertxt.setText(perimetro+"");
Graphics g = getGraphics();
paint(g);
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
super.paint(g);
g.setColor(Color.BLUE);
/**
*/
java.awt.EventQueue.invokeLater(new Runnable() {
new Rectangulo().setVisible(true);
});
Imágenes.
Imagen del programa ya ejecutado.
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.