Videvi 0 #1 Posted November 25, 2011 (edited) 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 November 25, 2011 by Videvi Share this post Link to post Share on other sites