miércoles, 21 de mayo de 2014

Dibujar un circulo

Esta aplicación en Java Swing, permite dibujar un circulo, en forma dinámica variando la posición del centro del mismo utilizando dos controles deslizables. Dejo en video demostrativo, si quieren el código, pueden escribirme a correo.first@gmail.com

lunes, 24 de marzo de 2014

Dibujar Calle

Este es un ejercicio que requiere la utilizacion de un metodo que se creo en otros programa, que se llama dibujarCasa() y la idea es dibujar una calle con cuatro casas por cada lado de la calle y que exista una separacion de al menos 20 pixeles entre casa y casa, aqui muestro el resultado final.


jueves, 13 de marzo de 2014

Dibujo figuras de casas con el método dibujarTriangulo

public class dCasa extends JFrame  implements ActionListener {
JPanel panel;
JButton boton;
public static void main(String args[]) {
dCasa marco = new dCasa();
marco.setSize(450, 350);
marco.dibujarGUI();
marco.setVisible(true);
}
private void dibujarGUI() {
setTitle("Metodo:DibujaCasa");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(440,280));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Dibujar casa");
ventana.add(boton);
boton.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
Graphics papel = panel.getGraphics();
dibujarCasa(papel,10,20,70,20);
dibujarCasa(papel,10,90,50,50);
}
private void dibujarCasa(Graphics areaDibujo, int techoSupX, int techoSupY, int anchura, int altura) {
dibujarTriangulo(areaDibujo,techoSupX, techoSupY, anchura, altura);
areaDibujo.drawRect(techoSupX, techoSupY+altura, anchura, altura);
}
private void dibujarTriangulo(Graphics areaDibujo, int lugarx, int lugary, int anchura, int altura) {
areaDibujo.drawLine(lugarx, lugary, lugarx, lugary+altura);
areaDibujo.drawLine(lugarx, lugary+altura,lugarx+anchura , lugary+altura);
areaDibujo.drawLine(lugarx, lugary, lugarx+anchura, lugary+altura);
}

}

Metodo dibujarCirculo(Graphics area, int xCentro, int yCentro, int Radio)

public class ejercicio54 extends JFrame  implements ActionListener {
JPanel panel;
JButton boton;
public static void main(String args[]) {
ejercicio54 marco = new ejercicio54();
marco.setSize(350, 300);
marco.dibujarGUI();
marco.setVisible(true);
}
private void dibujarGUI() {
setTitle("Metodo:DibujaCirculo");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(340,220));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Dibujar circulo");
ventana.add(boton);
boton.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
Graphics papel = panel.getGraphics();
String xCentro = JOptionPane.showInputDialog("Valor de la coordenada x");
String yCentro = JOptionPane.showInputDialog("Valor de la coordenada y");
String Radio = JOptionPane.showInputDialog("Valor del Radio");
Integer x = Integer.parseInt(xCentro);
Integer y = Integer.parseInt(yCentro);
Integer r = Integer.parseInt(Radio);
dibujarCirculo(papel,x,y,r);
}
private void dibujarCirculo(Graphics area, int xCentro, int yCentro, int radio) {
area.drawOval(xCentro, yCentro, radio, radio);

}

Calculo de ingresos


@SuppressWarnings("serial")
public class ejerc53 extends JFrame  implements ActionListener {
 JPanel panel;
JButton boton;
public static void main(String args[]) {
ejerc53 marco = new ejerc53();
marco.setSize(350, 250);
marco.dibujarGUI();
marco.setVisible(true);
}
private void dibujarGUI() {
setTitle("Calcula ingresos");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
boton = new JButton("Solicita Ingreso anual y años trabajados");
ventana.add(boton);
boton.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
String sa = JOptionPane.showInputDialog(getParent(), "Sueldo anual ", "");
String at = JOptionPane.showInputDialog(getParent(), "Años trabajados ", "");
mostrarIngresos(sa,at);
}

private void mostrarIngresos(String sueldoAnual, String añosTrabajados) {
Integer sa = Integer.parseInt(sueldoAnual);
Integer at = Integer.parseInt(añosTrabajados);
Integer ingresos = sa*at;
JOptionPane.showMessageDialog(getParent(), "Los ingresos totales son " + ingresos.toString());
}


}

Pedir nombre y Apellido

@SuppressWarnings("serial")
public class Nombres extends JFrame  implements ActionListener {
JPanel panel;
JButton boton;
public static void main(String args[]) {
Nombres marco = new Nombres();
marco.setSize(350, 250);
marco.dibujarGUI();
marco.setVisible(true);
}
private void dibujarGUI() {
setTitle("Metodo que solicita nombre y apellido");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
boton = new JButton("Pedir nombre y Apellido");
ventana.add(boton);
boton.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
String n = JOptionPane.showInputDialog(getParent(), "Cual es su nombre ", "");
String a = JOptionPane.showInputDialog(getParent(), "Cual es su Apellido ", "");
mostrarNombre(n,a);
}

private void mostrarNombre(String nombre, String Apellidos) {
JOptionPane.showMessageDialog(getParent(), "Hola " + nombre);
JOptionPane.showMessageDialog(getParent(), "Adios " + Apellidos);
}


}

Metodos para pedir y mostrar tu Nombre

Pantalla inicial


@SuppressWarnings("serial")
public class ejerc51 extends JFrame  implements ActionListener {
JPanel panel;
JButton boton;
public static void main(String args[]) {
ejerc51 marco = new ejerc51();
marco.setSize(350, 250);
marco.dibujarGUI();
marco.setVisible(true);
}
private void dibujarGUI() {
setTitle("Metodo que solicita nombre");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
boton = new JButton("Pedir nombre");
ventana.add(boton);
boton.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
String nombre = pedirNombre();
mostrarNombre(nombre);

}
private String pedirNombre() {
String n = JOptionPane.showInputDialog(getParent(), "Cual es su nombre ", "");
return n;
}
private void mostrarNombre(String nombre) {
JOptionPane.showMessageDialog(getParent(), "Hola " + nombre);
}


}

miércoles, 26 de febrero de 2014

Dibujo de un triángulo recto


Este código muestra el dibujo de un triángulo con un lado recto

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class trianguloRecto extends JFrame implements ActionListener{

JButton boton;
JPanel panel;


public static void main(String[] args) {

trianguloRecto marco = new trianguloRecto();
marco.setSize(250, 350);
marco.setTitle("Dibuja rectangulo recto");
marco.dibujaGUI();
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}


public void dibujaGUI() {

setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();

ventana.setLayout(new FlowLayout());

panel = new JPanel();
panel.setPreferredSize(new Dimension(230,280));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz click");
ventana.add(boton);
boton.addActionListener(this);

}

public void actionPerformed(ActionEvent evento) {

Graphics papel = panel.getGraphics();
papel.drawLine(10, 100, 10, 10);
papel.drawLine(100, 100, 10, 100);
papel.drawLine(10, 10, 100, 100);

}

}

Cuadrado con lineas


Este código dibuja un cuadrado, utilizando solo líneas

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class dibujaCuadrado2 extends JFrame implements ActionListener{
JButton boton;
JPanel panel;

public static void main(String[] args) {
dibujaCuadrado2 marco = new dibujaCuadrado2();
marco.setSize(250, 350);
marco.setTitle("Dibuja rectangulo");
marco.dibujaGUI();
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}
public void dibujaGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(230,280));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz click");
ventana.add(boton);
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent evento) {
Graphics papel = panel.getGraphics();
papel.drawLine(10, 10, 100, 10);
papel.drawLine(100, 10, 100, 100);
papel.drawLine(100, 100, 10, 100);
papel.drawLine(10, 100, 10, 10);
//papel.setColor(Color.green);
}

}

Cuadrado de 100x100 pixeles


Codigo para mostrar un cuadrado de 100x100 pixeles empezando en la coordenada 10,10

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class dibujaCuadrado extends JFrame implements ActionListener{
JButton boton;
JPanel panel;

public static void main(String[] args) {
dibujaCuadrado marco = new dibujaCuadrado();
marco.setSize(250, 350);
marco.setTitle("Dibuja rectangulo");
marco.dibujaGUI();
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}
public void dibujaGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(230,280));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz click");
ventana.add(boton);
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent evento) {
Graphics papel = panel.getGraphics();
papel.drawRect(10, 10, 100, 100);
papel.setColor(Color.cyan);
papel.fillRect(10, 10, 100, 100);
}

}

Tablero del juego del Gato


Este muestra el tablero del gato

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class gatoTablero extends JFrame implements ActionListener {

JButton boton;
JPanel panel;

public static void main(String[] args) {

gatoTablero marco = new gatoTablero();
marco.setSize(250, 350);
marco.setTitle("Tablero del gato");
marco.dibujaGUI();
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}

public void dibujaGUI() {

setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();

ventana.setLayout(new FlowLayout());

panel = new JPanel();
panel.setPreferredSize(new Dimension(230, 280));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz click");
ventana.add(boton);
boton.addActionListener(this);

}

public void actionPerformed(ActionEvent evento) {

Graphics papel = panel.getGraphics();
papel.drawLine(50, 100, 50, 10);
papel.drawLine(100, 100, 100, 10);
papel.drawLine(10, 40, 140, 40);
papel.drawLine(10, 70, 140, 70);

}

}

Paleta de Colores


Dejo el código necesario para mostrar en pantalla, un conjunto de cuadros con distintos colores

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class paletaColores extends JFrame implements ActionListener{
JButton boton;
JPanel panel;
public static void main(String[] args) {
paletaColores marco = new paletaColores();
marco.setSize(220, 400);
marco.setTitle("Tablero del gato");
marco.dibujaGUI();
marco.setLocationRelativeTo(null);
marco.setVisible(true);
}
public void dibujaGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(new Dimension(220,320));
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz click");
ventana.add(boton);
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent evento) {
Graphics papel = panel.getGraphics();
papel.drawRect(20, 20, 40, 40);
papel.setColor(Color.black);
papel.fillRect(20, 20, 40, 40);
papel.drawRect(80, 20, 40, 40);
papel.setColor(Color.blue);
papel.fillRect(80, 20, 40, 40);
papel.drawRect(140, 20, 40, 40);
papel.setColor(Color.cyan);
papel.fillRect(140, 20, 40, 40);
papel.drawRect(20, 80, 40, 40);
papel.setColor(Color.DARK_GRAY);
papel.fillRect(20, 80, 40, 40);
papel.drawRect(80, 80, 40, 40);
papel.setColor(Color.gray);
papel.fillRect(80, 80, 40, 40);
papel.drawRect(140, 80, 40, 40);
papel.setColor(Color.green);
papel.fillRect(140, 80, 40, 40);
papel.drawRect(20, 140, 40, 40);
papel.setColor(Color.LIGHT_GRAY);
papel.fillRect(20, 140, 40, 40);
papel.drawRect(80, 140, 40, 40);
papel.setColor(Color.magenta);
papel.fillRect(80, 140, 40, 40);
papel.drawRect(140, 140, 40, 40);
papel.setColor(Color.orange);
papel.fillRect(140, 140, 40, 40);
papel.drawRect(20, 200, 40, 40);
papel.setColor(Color.pink);
papel.fillRect(20, 200, 40, 40);
papel.drawRect(80, 200, 40, 40);
papel.setColor(Color.red);
papel.fillRect(80, 200, 40, 40);
papel.drawRect(140, 200, 40, 40);
papel.setColor(Color.white);
papel.fillRect(140, 200, 40, 40);
papel.drawRect(10, 260, 40, 40);
papel.setColor(Color.yellow);
papel.fillRect(20, 260, 40, 40);
}


}