lunes, 12 de marzo de 2012

Perímetro y Área

En este código utilizamos un JMenuBar y el JToolBar y lo que hace es sacar perímetro y área de algunas figuras.


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Dibujar extends JFrame{
JMenuBar barra=new JMenuBar();
JMenu Perimetro=new JMenu("Perimetro");
JMenuItem mnuCuadrado=new JMenuItem("Cuadrado");
JMenuItem mnuRectangulo=new JMenuItem("Rectangulo");
JMenuItem mnuCirculo=new JMenuItem("Circulo");
JMenuItem mnuOvalo=new JMenuItem("Ovalo");
JMenu Area=new JMenu("Area");
JMenuItem mnuCuadrado2=new JMenuItem("Cuadrado");
JMenuItem mnuRectangulo2=new JMenuItem("Rectangulo");
JMenuItem mnuCirculo2=new JMenuItem("Circulo");
JMenuItem mnuOvalo2=new JMenuItem("Ovalo");
ImageIcon img[]={new ImageIcon("Cuadradosin.jpg"),new ImageIcon("Rectangulosin.jpg"), new ImageIcon("Circulosin.jpg"), new ImageIcon("Ovalosin.jpg"),new ImageIcon("Cuadrado.jpg"),new ImageIcon("Rectangulo.jpg"), new ImageIcon("Circulo.jpg"), new ImageIcon("Ovalo.jpg")};
JToolBar barra2=new JToolBar();
JButton btnCuadradosin=new JButton(img[0]);
JButton btnRectangulosin=new JButton(img[1]);
JButton btnCirculosin=new JButton(img[2]);
JButton btnOvalosin=new JButton(img[3]);
JButton btnCuadrado=new JButton(img[4]);
JButton btnRectangulo=new JButton(img[5]);
JButton btnCirculo=new JButton(img[6]);
JButton btnOvalo=new JButton(img[7]);
JLabel lblLado=new JLabel("Lado: ");
JTextField txtLado=new JTextField();
JLabel lblLargo=new JLabel("Largo: ");
JTextField txtLargo=new JTextField();
JLabel lblAncho=new JLabel("Ancho: ");
JTextField txtAncho=new JTextField();
JLabel lblBase=new JLabel("Base: ");
JTextField txtBase=new JTextField();
JLabel lblAltura=new JLabel("Altura: ");
JTextField txtAltura=new JTextField();
JLabel lblRadio=new JLabel("Radio: ");
JTextField txtRadio=new JTextField();
JLabel lblejeMy=new JLabel("Eje Mayor: ");
JTextField txtejeMy=new JTextField();
JLabel lblejeMn=new JLabel("Eje Menor: ");
JTextField txtejeMn=new JTextField();
JButton btnCalcular=new JButton("Calcular");
JPanel panel1,panel2;
int op=0;
public Dibujar(){
setTitle("Dibujar");
setSize(800,500);
panel1=new JPanel();
panel2=new JPanel();
panel1.setLayout(null);
panel1.add(lblLado);
lblLado.setBounds(10, 50, 100, 30);
panel1.add(txtLado);
txtLado.setBounds(50, 55, 60, 20);
panel1.add(lblLargo);
lblLargo.setBounds(10, 50, 100, 30);
panel1.add(txtLargo);
txtLargo.setBounds(50, 55, 60, 20);
panel1.add(lblAncho);
lblAncho.setBounds(10,80,100,30);
panel1.add(txtAncho);
txtAncho.setBounds(50,85,100,20);
panel1.add(lblBase);
lblBase.setBounds(10, 50, 100, 30);
panel1.add(txtBase);
txtBase.setBounds(50, 55, 60, 20);
panel1.add(lblAltura);
lblAltura.setBounds(10,80,100,30);
panel1.add(txtAltura);
txtAltura.setBounds(50,85,100,20);
panel1.add(lblRadio);
lblRadio.setBounds(10, 50, 100, 30);
panel1.add(txtRadio);
txtRadio.setBounds(50, 55, 60, 20);
panel1.add(lblejeMy);
lblejeMy.setBounds(10, 70, 100, 30);
panel1.add(txtejeMy);
txtejeMy.setBounds(70,75,60,20);
panel1.add(lblejeMn);
lblejeMn.setBounds(10, 90, 100, 30);
panel1.add(txtejeMn);
txtejeMn.setBounds(70, 95, 60, 20);
panel1.add(btnCalcular);
btnCalcular.setBounds(20,150,100,30);
barra2.add(btnCuadradosin);
barra2.add(btnRectangulosin);
barra2.add(btnCirculosin);
barra2.add(btnOvalosin);
barra2.add(btnCuadrado);
barra2.add(btnRectangulo);
barra2.add(btnCirculo);
barra2.add(btnOvalo);
barra.add(Perimetro);
Perimetro.add(mnuCuadrado);
Perimetro.add(mnuRectangulo);
Perimetro.add(mnuCirculo);
Perimetro.add(mnuOvalo);
barra.add(Area);
Area.add(mnuCuadrado2);
Area.add(mnuRectangulo2);
Area.add(mnuCirculo2);
Area.add(mnuOvalo2);
Container c=getContentPane();
c.setLayout(null);
c.add(barra);
barra.setBounds(0,0,600,30);
c.add(barra2);
barra2.setBounds(0,31,600,60);
c.add(panel1);
panel1.setBounds(0,91,600,340);
c.add(panel2);
panel2.setBounds(251,91,499,340);
invisibles();
mnuCuadrado.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblLado.setVisible(true);
txtLado.setVisible(true);
btnCalcular.setVisible(true);
op=1;
}
});
mnuRectangulo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblLargo.setVisible(true);
txtLargo.setVisible(true);
lblAncho.setVisible(true);
txtAncho.setVisible(true);
btnCalcular.setVisible(true);
op=2;
}
});
mnuCirculo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblRadio.setVisible(true);
txtRadio.setVisible(true);
btnCalcular.setVisible(true);
op=3;
}
});
mnuOvalo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
//lblRadio.setVisible(true);
//txtRadio.setVisible(true);
lblejeMy.setVisible(true);
txtejeMy.setVisible(true);
lblejeMn.setVisible(true);
txtejeMn.setVisible(true);
btnCalcular.setVisible(true);
op=4;
}
});
mnuCuadrado2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblBase.setVisible(true);
txtBase.setVisible(true);
btnCalcular.setVisible(true);
op=5;
}
});
mnuRectangulo2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblBase.setVisible(true);
txtBase.setVisible(true);
lblAltura.setVisible(true);
txtAltura.setVisible(true);
btnCalcular.setVisible(true);
op=6;
}
});
mnuCirculo2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
lblRadio.setVisible(true);
txtRadio.setVisible(true);
btnCalcular.setVisible(true);
op=7;
}
});
mnuOvalo2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent cua){
invisibles();
//lblRadio.setVisible(true);
//txtRadio.setVisible(true);
lblejeMy.setVisible(true);
txtejeMy.setVisible(true);
lblejeMn.setVisible(true);
txtejeMn.setVisible(true);
btnCalcular.setVisible(true);
op=8;
}
});
btnCuadradosin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblLado.setVisible(true);
txtLado.setVisible(true);
btnCalcular.setVisible(true);
op=1;
}
});
btnRectangulosin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblLargo.setVisible(true);
txtLargo.setVisible(true);
lblAncho.setVisible(true);
txtAncho.setVisible(true);
btnCalcular.setVisible(true);
op=2;
}
});
btnCirculosin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblRadio.setVisible(true);
txtRadio.setVisible(true);
btnCalcular.setVisible(true);
op=3;
}
});
btnOvalosin.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
//lblRadio.setVisible(true);
//txtRadio.setVisible(true);
lblejeMy.setVisible(true);
txtejeMy.setVisible(true);
lblejeMn.setVisible(true);
txtejeMn.setVisible(true);
btnCalcular.setVisible(true);
op=4;
}
});
btnCuadrado.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblBase.setVisible(true);
txtBase.setVisible(true);
btnCalcular.setVisible(true);
op=5;
}
});
btnRectangulo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblBase.setVisible(true);
txtBase.setVisible(true);
lblAltura.setVisible(true);
txtAltura.setVisible(true);
btnCalcular.setVisible(true);
op=6;
}
});
btnCirculo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
lblRadio.setVisible(true);
txtRadio.setVisible(true);
btnCalcular.setVisible(true);
op=7;
}
});
btnOvalo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent c){
invisibles();
//lblRadio.setVisible(true);
//txtRadio.setVisible(true);
lblejeMy.setVisible(true);
txtejeMy.setVisible(true);
lblejeMn.setVisible(true);
txtejeMn.setVisible(true);
btnCalcular.setVisible(true);
op=8;
}
});
btnCalcular.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ca){
if(op==1){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.drawRect(70, 50, 180, 180);
int lado=Integer.parseInt(txtLado.getText());
int p=lado*4;
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El perimetro del cuadrado es " + p, 70, 280);
}
if(op==2){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.drawRect(70, 50, 200, 100);
int largo=Integer.parseInt(txtLargo.getText());
int ancho=Integer.parseInt(txtAncho.getText());
int p=largo*2+ancho*2;
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El perimetro del rectangulo es " + p, 70, 280);
}
if(op==3){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.drawOval(70, 50, 100, 100);
double radio=Integer.parseInt(txtRadio.getText());
//double p=2*3.1416*radio;
double p=(2*radio)*3.1416;
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El perimetro del circulo es " + p, 70, 280);
}
if(op==4){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.drawOval(70, 50, 200, 100);
//double radio=Integer.parseInt(txtRadio.getText());
float ejeMy=Integer.parseInt(txtejeMy.getText());
float ejeMn=Integer.parseInt(txtejeMn.getText());
float X=(ejeMy+ejeMn)/2;
double Y=Math.sqrt((ejeMy+ejeMn)/2);
double p=Math.PI*(X+Y);
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El perimetro del ovalo es " + p, 70, 280);
}
if(op==5){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.fillRect(70, 50, 180, 180);
int base=Integer.parseInt(txtBase.getText());
int p=base*base;
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El area del cuadrado es " + p, 70, 280);
}
if(op==6){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.fillRect(70, 50, 200, 100);
int base=Integer.parseInt(txtBase.getText());
int altura=Integer.parseInt(txtAltura.getText());
int p=base*altura;
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El area del rectangulo es " + p, 70, 280);
}
if(op==7){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.fillOval(70, 50, 100, 100);
double radio=Integer.parseInt(txtRadio.getText());
double p=(radio*radio)*Math.PI;
//double res=Math.PI;
//double p=3.1416*radio(double)Math.pow(2);
//double res = (double)Math.pow(p, radio);
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El area del circulo es " + p, 70, 280);
}
if(op==8){
Graphics w=panel2.getGraphics();
w.setColor(Color.black);
w.fillRect(0, 0, 600, 340);
w.setColor(Color.blue);
w.fillOval(70, 50, 200, 100);
//double radio=Integer.parseInt(txtRadio.getText());
double ejeMy=Integer.parseInt(txtejeMy.getText());
double ejeMn=Integer.parseInt(txtejeMn.getText());
double p=Math.PI*(ejeMy*ejeMn);
w.setFont(new Font("Arial", Font.BOLD,20));
w.drawString("El area del ovalo es " + p, 70, 280);
}
}
});
}

public void invisibles() {
lblLado.setVisible(false);
txtLado.setVisible(false);
lblLargo.setVisible(false);
txtLargo.setVisible(false);
lblAncho.setVisible(false);
txtAncho.setVisible(false);
lblBase.setVisible(false);
txtBase.setVisible(false);
lblAltura.setVisible(false);
txtAltura.setVisible(false);
lblRadio.setVisible(false);
txtRadio.setVisible(false);
lblejeMy.setVisible(false);
txtejeMy.setVisible(false);
lblejeMn.setVisible(false);
txtejeMn.setVisible(false);
}

}

// Este es el main

public class mainDibujar {
public static void main(String[] args) {
new Dibujar().setVisible(true);

}

}

Descargar:

https://rapidshare.com/files/256148255/Dibujar.rar

No hay comentarios:

Publicar un comentario en la entrada