Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMESTRE
DESARROLLO DE
SOFTWARE
(MAIN)
package clase20Sept;
}
abstract class Empleado {
}
package clase20Sept;
public Obrero() {
super();
horas = 0;
}
public Obrero(String nombre, int horas) {
super(nombre);
this.horas = horas;
double salario;
@Override
public String toString() {
String s = " " + super.toString();
return s += " horas= " + horas;
}
}(FIN DEL PROGRAMA)
(FUNCIONAMIENTO DEL PROGRAMA)
FIRMAS
SEGUNDO
PARCIAL
Codigo:2.5
El funcionamiento del codigo consiste en que al pulsar nosotros con el
mouse en cualquier sitio de nuestro panel,se obtendran las
coordenadas de nuestro click,generando un punto inicial gracias a los
metodos .getX() y .getY(),a partir de ahi podremos usar las flechas del
teclado para en primer instancia,aparecer una linea en la direccion
inicial que nosotros le proporcionemos y posteriormente con las mismas
teclas mover la linea indefinidamente a donde nosotros
deseemos,Ademas si presionamos la letra “F” se cerrara el path y no
nos dejara seguir usando las teclas para mover la linea.
(MAIN)
package lineasmouse;
import javax.swing.JFrame;
}
(CIERRE DE MAIN)
package lineasmouse;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.awt.geom.PathIterator;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JPanel;
@Override
public void keyPressed(KeyEvent e) {
int llavey=e.getKeyCode();
Graphics g=this.getGraphics();
g.setColor(Color.red);
linea.moveTo(x, y);
if(para==true){
switch(llavey){
case (KeyEvent.VK_UP):
y-=5;
linea.lineTo(x, y);
System.out.println(y);
repaint();
break;
case (KeyEvent.VK_DOWN):
y+=5;
linea.lineTo(x, y);
System.out.println(y);
repaint();
break;
case (KeyEvent.VK_LEFT):
x-=5;
linea.lineTo(x, y);
System.out.println(x);
repaint();
break;
case (KeyEvent.VK_RIGHT):
x+=5;
linea.lineTo(x, y);
System.out.println(x);
repaint();
break;
case (KeyEvent.VK_F):
para=false;
x=px;
y=py;
repaint();
break;
}
}
}
@Override
public void keyReleased(KeyEvent e) {
@Override
public void mouseClicked(MouseEvent e) {
@Override
//seleccionando punto inicial
public void mousePressed(MouseEvent e) {
para=true;
px=e.getX();
py=e.getY();
x=px;
y=py;
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
@Override
public void mouseDragged(MouseEvent e) {
@Override
public void mouseMoved(MouseEvent e) {
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.draw(linea);
repaint();
}
}
class Linea implements Shape{
@Override
public Rectangle getBounds() {
return null;
}
@Override
public Rectangle2D getBounds2D() {
return null;
}
@Override
public boolean contains(double x, double y) {
return false;
}
@Override
public boolean contains(Point2D p) {
return false;
}
@Override
public boolean intersects(double x, double y, double w, double h) {
return false;
}
@Override
public boolean intersects(Rectangle2D r) {
return false;
}
@Override
public boolean contains(double x, double y, double w, double h) {
return false;
@Override
public boolean contains(Rectangle2D r) {
return false;
@Override
public PathIterator getPathIterator(AffineTransform at) {
return null;
}
@Override
public PathIterator getPathIterator(AffineTransform at, double
flatness) {
return null;
(MAIN)
package olaTilin;
import javax.swing.JFrame;
public class Figuritas {
public static void main(String[] args) {
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}
}
(CIERRE DE MAIN)
package olaTilin;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
@Override
public void keyReleased(KeyEvent e) {
}
} (FIN DEL PROGRAMA)
( EJECUCION DEL PROGRAMA)
(MAIN)
package MuchoFrio1;
import javax.swing.JFrame;
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}
(CIERRE DE MAIN)
package MuchoFrio1;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import javax.swing.Timer;
Panel = this;
try {
img = ImageIO.read(new File("olta.jpg"));
} catch (IOException ex) {
Logger.getLogger(MiPanel.class.getName()).log(Level.SEVERE,
null, ex);
}
at = new AffineTransform();
at2 = new AffineTransform();
at3 = new AffineTransform();
at.setToTranslation(0, 5);
at2.setToTranslation(0, 5);
at3.setToTranslation(0, 5);
xR1 = 300;
xE1 = random.nextInt(1000 + 1);
xE2 = random.nextInt(1000 + 1);
xE3 = random.nextInt(1000 + 1);
if (eli.intersects(r1)) {
at.setToTranslation(0, -5);
}
if (eli2.intersects(r1)) {
at2.setToTranslation(0, -5);
}
if (eli3.intersects(r1)) {
at3.setToTranslation(0, -5);
}
if (eli.getBounds2D().getY() < 0) {
at.setToTranslation(0, 5);
}
if (eli2.getBounds2D().getY() < 0) {
at2.setToTranslation(0, 5);
}
if (eli3.getBounds2D().getY() < 0) {
at3.setToTranslation(0, 5);
}
repaint();
}
});
t.start();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
eli = at.createTransformedShape(eli);
eli2 = at2.createTransformedShape(eli2);
eli3 = at3.createTransformedShape(eli3);
g2.fill(eli);
g2.fill(eli2);
g2.fill(eli3);
g2.fill(r1);
g2.drawImage(img,(int)eli.getBounds().getX()(int)eli.getBounds().getY(),
50, 50, this);
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
xR1 += 10;
}
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
xR1 -= 10; }
repaint();
}
@Override
public void keyReleased(KeyEvent e) {
}
}(FIN DEL PROGRAMA)
(EJECUCION DEL PROGRAMA)
El funcionamiento del programa consiste en una pelota que tendra
colisiones con los bloques que colocamos en la parte superior del
panel,con los bordes del panel y con una barra que podremos
mover de izquierda a derecha para que la pelota no se vaya a la
parte inferior del panel y se pierda,en este caso usamos un timer
para que los objetos se puedan animar.
(MAIN)
package caroactividad;
import javax.swing.JFrame;
(CIERRE DE MAIN)
package caroactividad;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.util.Random;
import javax.swing.JPanel;
import javax.swing.Timer;
public class MiPanel extends JPanel implements KeyListener {
private Shape el;
private Rectangle2D r, uno, dos, tres, cuatro, cinco, seis;
private int x, y;
private double xa, ya;
private double g;
private AffineTransform an;
private Timer t;
private Random random;
private JPanel panel;
private boolean one, two, three, four, five, six;
public MiPanel (){
this.setPreferredSize(new Dimension(500, 500));
this.setBackground(Color.WHITE);
this.addKeyListener(this);
this.setFocusable(true);
random = new Random();
panel = this;
x = 150;
y = 460;
uno = new Rectangle2D.Double(20,30,60,60);
dos = new Rectangle2D.Double(100,30,60,60);
tres = new Rectangle2D.Double(180,30,60,60);
cuatro = new Rectangle2D.Double(260,30,60,60);
cinco = new Rectangle2D.Double(340,30,60,60);
seis = new Rectangle2D.Double(420,30,60,60);
el = new Ellipse2D.Double(225,400,50,50);
an = new AffineTransform();
xa = random.nextDouble(10)-10;
ya = random.nextDouble(10)+0;
an.setToTranslation(xa, ya);
t = new Timer(1,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if ((el.getBounds().getX()>=panel.getWidth()-50)||
(el.getBounds().getX()<=0)){
xa = -xa;
}
if ((el.getBounds().getY()<=0)||(el.intersects(r))){
ya = -ya;
}
if (el.intersects(uno)){
if ((el.getBounds().getX()<uno.getBounds().getX())||
(el.getBounds().getX()>uno.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya;
}
}
one = true;
uno = new Rectangle2D.Double(0,0,0,0);
}
if (el.intersects(dos)){
if ((el.getBounds().getX()<dos.getBounds().getX())||
(el.getBounds().getX()>dos.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya;
}
} two = true;
dos = new Rectangle2D.Double(0,0,0,0);
}
if (el.intersects(tres)){
if ((el.getBounds().getX()<tres.getBounds().getX())||
(el.getBounds().getX()>tres.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya; }
}
three = true;
tres = new Rectangle2D.Double(0,0,0,0); }
if (el.intersects(cuatro)){
if ((el.getBounds().getX()<cuatro.getBounds().getX())||
(el.getBounds().getX()>cuatro.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya;
}
}
four = true;
cuatro = new Rectangle2D.Double(0,0,0,0);
}
if (el.intersects(cinco)){
if ((el.getBounds().getX()<cinco.getBounds().getX())||
(el.getBounds().getX()>cinco.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya;
}
}
five = true;
cinco = new Rectangle2D.Double(0,0,0,0);
}
if (el.intersects(seis)){
if ((el.getBounds().getX()<seis.getBounds().getX())||
(el.getBounds().getX()>seis.getBounds().getX()+50)){
xa = -xa;
}else{
if (el.getBounds().getY()>80){
ya = -ya;
}
}
six = true;
seis = new Rectangle2D.Double(0,0,0,0);
}
an.setToTranslation(xa,ya);
repaint();
}
});
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
r = new Rectangle2D.Double(x, y, 200, 20);
el = an.createTransformedShape(el);
g2.fill(r);
g2.fill(el);
if (!one) {
g2.fill(uno);
}
if (!two) {
g2.fill(dos);
}
if (!three) {
g2.fill(tres);
}
if (!four) {
g2.fill(cuatro);
}
if (!five) {
g2.fill(cinco);
}
if (!six) {
g2.fill(seis);
}
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
t.start();
}
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
x -= 30;
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
x += 30;
}
}
@Override
public void keyReleased(KeyEvent e) {
}
}
(FIN DEL PROGRAMA)
(EJECUCION DEL PROGRAMA)