Foros del Web » Programación para mayores de 30 ;) » Java »

Graficos en Swing

Estas en el tema de Graficos en Swing en el foro de Java en Foros del Web. Que tal Estoy haciendo una aplicacion similar a un paint en java, usando Swing, pero no se como dibujar en ella, alguien que sepa o ...
  #1 (permalink)  
Antiguo 22/02/2007, 20:15
 
Fecha de Ingreso: septiembre-2003
Mensajes: 19
Antigüedad: 21 años, 1 mes
Puntos: 0
Graficos en Swing

Que tal

Estoy haciendo una aplicacion similar a un paint en java, usando Swing, pero no se como dibujar en ella, alguien que sepa o que tenga un ejemplo de como, saludos
  #2 (permalink)  
Antiguo 22/02/2007, 22:15
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 19 años
Puntos: 56
Re: Graficos en Swing

Mira por aquí a ver si encuentras algo ....

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 22/02/2007, 22:47
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Re: Graficos en Swing

Hola:

Aquí tienes un ejemplo básico de cómo pintar en java.

Aquí tienes un ejemplo de un paint en java

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 23/02/2007, 02:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 19
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: Graficos en Swing

Antes que nada, agradezco sus respuestas

jcxnet, buen tutorial, ya lo habia visto, pero no viene lo que busco
chuidiang, muy buenos los ejemplos pero aun no resuelvo lo que quiero

Pongo mi codigo aqui
Código:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.reflect.*;
import java.awt.event.ActionListener;
                

public class paint extends JApplet implements ActionListener{
	JButton cuad, trian, circ, lin, color, btncolor;
	Icon icon;
	JLabel label, labelinfo;
	String texto;
	Frame frame;
	Color colore;
	
 public void init(){
   	Container content = getContentPane();
    content.setBackground(Color.lightGray);
    
	//se crea el panel donde iran los botones
	JPanel menuLat = new JPanel(new GridLayout(4, 0));
    content.add(menuLat, BorderLayout.EAST);
    
		//se agregan los botones con sus respectivos iconos
    menuLat.add(cuad = new JButton(icon = new ImageIcon("cuadrado.gif")));
	menuLat.add(trian = new JButton(icon = new ImageIcon("triangulo.gif")));
    menuLat.add(circ = new JButton(icon = new ImageIcon("circulo.gif")));
    menuLat.add(lin = new JButton(icon = new ImageIcon("linea.gif")));
    menuLat.add(color = new JButton(icon = new ImageIcon("colores.gif"))); 
    menuLat.add(btncolor = new JButton("Color Actual"));
    color.setVerticalTextPosition(AbstractButton.BOTTOM);
    color.setHorizontalTextPosition(AbstractButton.CENTER);
    color.setText("Elige Color");

		//se agrega el listener
    cuad.addActionListener(this);
    trian.addActionListener(this);
    circ.addActionListener(this);
    lin.addActionListener(this);
    color.addActionListener(this);
    
    cuad.setActionCommand("cuadrado");
    trian.setActionCommand("triangulo");
    circ.setActionCommand("circulo");
    lin.setActionCommand("linea");
    color.setActionCommand("color");
          
   	
    // panel donde se dibujara  
    JPanel areaDibujo = new JPanel();
    areaDibujo.setPreferredSize(new Dimension(600,0));
    areaDibujo.setBorder(BorderFactory.createLineBorder (Color.blue, 2));
    areaDibujo.setBackground(Color.white);
    content.add(areaDibujo, BorderLayout.WEST);
    areaDibujo.add(label = new JLabel("Area de Dibujo"));
    
	// panel donde esta la etiqueta que dice que accion se tomo	
	JPanel panelinfo = new JPanel(new FlowLayout());
    content.add(panelinfo, BorderLayout.PAGE_END);
    panelinfo.add(labelinfo = new JLabel("Información"));
    setVisible(true);
  }

 
  	public void actionPerformed(ActionEvent e){				
		if (e.getActionCommand().equals("cuadrado")) {
			labelinfo.setText("Has escogido cuadrado");
		}
		if (e.getActionCommand().equals("triangulo")) {
			labelinfo.setText("Has escogido triangulo");
		}
		if (e.getActionCommand().equals("circulo")) {
			labelinfo.setText("Has escogido  circulo");
		}
		if (e.getActionCommand().equals("linea")) {
			labelinfo.setText("Has escogido linea");
		}
		if (e.getActionCommand().equals("color")) {
	Color colore = JColorChooser.showDialog(this, "Choose Background Color", getBackground());
			labelinfo.setBackground(colore);
			labelinfo.setText("Color Actual");
                        // le asigno el color elegido a la etiqueta y el boton btncolor
			labelinfo.setForeground(colore);
			btncolor.setBackground(colore);                                 
		}
		}
	}
}
Lo que no se, es como hacer que se dibuje lo que quiero en el area de dibujo, osea en el panel "areaDibujo"

Aqui esta una imagen

--h ttp://img201.imageshack.us/my.php?image=paintgy5.jpg
  #5 (permalink)  
Antiguo 23/02/2007, 16:40
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Re: Graficos en Swing

Hola:

En el ejemplo que te pasé se hereda de Canvas y en el paint() se dibuja. Tu area de dibujo es un JPanel. Hereda de JPanel y el metodo paint() dibuja lo que quieras.

En el ejemplo que te pasé se pone a la clase que hereda de Canvas un método para pasarle la línea que tiene que pintar. Ponle tú a tu clase hija de JPanel métodos para que pinte una figura u otra, de un color u otro.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 13/05/2008, 11:13
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
De acuerdo Re: Graficos en Swing

Antes que nada, agradezco sus respuestas

jcxnet, buen tutorial, ya lo habia visto, pero no viene lo que busco
chuidiang, muy buenos los ejemplos pero aun no resuelvo lo que quiero

Pongo mi codigo aqui
Código:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.reflect.*;
import java.awt.event.ActionListener;
                

public class paint extends JApplet implements ActionListener{
	JButton cuad, trian, circ, lin, color, btncolor;
	Icon icon;
	JLabel label, labelinfo;
	String texto;
	Frame frame;
	Color colore;
	
 public void init(){
   	Container content = getContentPane();
    content.setBackground(Color.lightGray);
    
	//se crea el panel donde iran los botones
	JPanel menuLat = new JPanel(new GridLayout(4, 0));
    content.add(menuLat, BorderLayout.EAST);
    
		//se agregan los botones con sus respectivos iconos
    menuLat.add(cuad = new JButton(icon = new ImageIcon("cuadrado.gif")));
	menuLat.add(trian = new JButton(icon = new ImageIcon("triangulo.gif")));
    menuLat.add(circ = new JButton(icon = new ImageIcon("circulo.gif")));
    menuLat.add(lin = new JButton(icon = new ImageIcon("linea.gif")));
    menuLat.add(color = new JButton(icon = new ImageIcon("colores.gif"))); 
    menuLat.add(btncolor = new JButton("Color Actual"));
    color.setVerticalTextPosition(AbstractButton.BOTTOM);
    color.setHorizontalTextPosition(AbstractButton.CENTER);
    color.setText("Elige Color");

		//se agrega el listener
    cuad.addActionListener(this);
    trian.addActionListener(this);
    circ.addActionListener(this);
    lin.addActionListener(this);
    color.addActionListener(this);
    
    cuad.setActionCommand("cuadrado");
    trian.setActionCommand("triangulo");
    circ.setActionCommand("circulo");
    lin.setActionCommand("linea");
    color.setActionCommand("color");
          
   	
    // panel donde se dibujara  
    JPanel areaDibujo = new JPanel();
    areaDibujo.setPreferredSize(new Dimension(600,0));
    areaDibujo.setBorder(BorderFactory.createLineBorder (Color.blue, 2));
    areaDibujo.setBackground(Color.white);
    content.add(areaDibujo, BorderLayout.WEST);
    areaDibujo.add(label = new JLabel("Area de Dibujo"));
    
	// panel donde esta la etiqueta que dice que accion se tomo	
	JPanel panelinfo = new JPanel(new FlowLayout());
    content.add(panelinfo, BorderLayout.PAGE_END);
    panelinfo.add(labelinfo = new JLabel("Información"));
    setVisible(true);
  }

 
  	public void actionPerformed(ActionEvent e){				
		if (e.getActionCommand().equals("cuadrado")) {
			labelinfo.setText("Has escogido cuadrado");
		}
		if (e.getActionCommand().equals("triangulo")) {
			labelinfo.setText("Has escogido triangulo");
		}
		if (e.getActionCommand().equals("circulo")) {
			labelinfo.setText("Has escogido  circulo");
		}
		if (e.getActionCommand().equals("linea")) {
			labelinfo.setText("Has escogido linea");
		}
		if (e.getActionCommand().equals("color")) {
	Color colore = JColorChooser.showDialog(this, "Choose Background Color", getBackground());
			labelinfo.setBackground(colore);
			labelinfo.setText("Color Actual");
                        // le asigno el color elegido a la etiqueta y el boton btncolor
			labelinfo.setForeground(colore);
			btncolor.setBackground(colore);                                 
		}
		}
	}
}
Lo que no se, es como hacer que se dibuje lo que quiero en el area de dibujo, osea en el panel "areaDibujo"


-------------------------------------------------------------------------------------------------------
BUEN TRABAJO:aplaus o:

ME GUSTARIA SABER SI YA RESOLVISTES EL PROBLEMA, YA LOGRASTES QUE PINTARA .. ESPERO ME RESPONDAS PRONTO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.