Jump to content
Sign in to follow this  
Videvi

[JAVA] Desenho Lápis

Recommended Posts

Videvi    0
Videvi

Explicação:

 

Fiz um código super simples para quem estiver começando em Java. Nesse código tem exemplo de programação visual, uso de herança e abstração e eventos do mouse. Também comentei o código para ficar com melhor entendimento

 

 

Códigos:

 

Classe Main:

public class Lapis // essa é a classe main que todo projeto deve ter, para declarar é sempre o mesmo padrão.
{
   public static void main (String args[])
   {
       Janela janela = new Janela (); // aqui você coloca a classe que a main vai iniciar.
   }
}

 

Classe Janela:

import java.awt.*;
import java.awt.event.*;            // Isso são imports de libs do java
import javax.swing.*;

public class Janela extends JFrame  // Declaração da classe, pelo fato de ela ser visual ela tem como herança a classe JFrame.
{
protected JPanel pnlDesenho = new JPanel(); // Usei JPanel porque ele já tem uma classe Graphics.
protected int pX, pY;

public Janela ()
{
	super("Lapis"); // Define o titulo, a função super é usada pelo fato da classe Janela ser uma Herança de JFrame.

	pnlDesenho.addMouseListener(new Mouse()); // Nessas duas linhas estou adicionando eventos do mouse nelas.
	pnlDesenho.addMouseMotionListener(new Mouse());

	Container c = this.getContentPane();
	c.add(pnlDesenho);

	this.setSize(992,600);
	this.setVisible(true); // Torna o JFrame visivel.
}

private class Mouse implements MouseListener, MouseMotionListener
{

      public void mousePressed (MouseEvent e) // Evento para quando o mouse for pressionado.
      {
       	  pX = e.getX(); // A variavel pX recebe a coordenada do eixo X em que o mouse está.
    	  pY = e.getY(); // E a variavel pY recebe a coordenada do eixo Y.
      }

      public void mouseDragged (MouseEvent e) // Evento quando o mouse for arrasta e pressionado.
      {
      	  pnlDesenho.getGraphics().drawLine(pX,pY,e.getX(),e.getY()); // Aqui você está pegando o gráfico do painel e desenhando nele com uma função pré-definida que desenha linhas.

     	  pX = e.getX();
    	  pY = e.getY();
         }

         public void mouseReleased (MouseEvent e) // Evento quando o o botão do mouse for solto.
      {
     	  pnlDesenho.getGraphics().drawLine(pX,pY,e.getX(),e.getY());
      }

      public void mouseClicked (MouseEvent e)
      {}

      public void mouseEntered (MouseEvent e)                 // Esses procedimentos ao lado são declarados porque a classe é abstrata.
      {}

      public void mouseExited (MouseEvent e)
             {}

             public void mouseMoved (MouseEvent e)
             {}
    }
}

 

 

Observações:

 

Se ainda estiver com alguma dúvida poste aqui que tentarei responder.

Edited by Videvi

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×