Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

mouseReleased - Pomeranje...

[es] :: Java :: mouseReleased - Pomeranje...

[ Pregleda: 309 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

4got10
Bozidar Petrvic
Beograd

Član broj: 160174
Poruke: 33
*.dynamic.sbb.rs.



Profil

icon mouseReleased - Pomeranje...30.12.2008. u 22:05

Potrebna mi je jedna mala pomoc, treba da u ovom mouseDraged-u omogucim pomeranje ove elipse (odnosno kruga). Znam da me neka sitnica muci, pa ne mogu vise da se nerviram, pa ako mozete pomozite...Pozzz..

P.S. Ovaj JPanel je ubacen u neki GUI, ali to je naravno sada nebitno...

Code:

package domaci;

import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Composite;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.Ellipse2D;
import java.util.ArrayList;

import javax.swing.JPanel;

public class DrowPanel extends JPanel implements MouseListener {
    private Shape selectedShape;
    private ArrayList<Shape> shapes = new ArrayList<Shape>();
    private AlphaComposite transparency = AlphaComposite.getInstance(
            AlphaComposite.SRC_OVER, 0.3f);

    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        for (Shape s : shapes) {
            GradientPaint gp = new GradientPaint(s.getBounds().x,
                    s.getBounds().y, Color.BLUE, s.getBounds().x,
                    getBounds().y, Color.BLACK);
            g2d.setPaint(gp);
            Composite orginalComposite = g2d.getComposite();
            if (s == selectedShape) {
                float[] dashPattent = { 30, 10, 10, 10 };
                g2d.setStroke(new BasicStroke(8, BasicStroke.CAP_BUTT,
                        BasicStroke.JOIN_MITER, 10, dashPattent, 0));
                g2d.setComposite(transparency);
            }
            
            g2d.fill(s);
            g2d.setPaint(Color.BLACK);
            g2d.draw(s);
            g2d.setStroke(new BasicStroke());
            g2d.setComposite(orginalComposite);

        }
}

    DrowPanel() {
        addMouseListener(this);
    }

    public void mouseClicked(MouseEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseEntered(MouseEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseExited(MouseEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mousePressed(MouseEvent e) {
        boolean selected = false;
        for (Shape s : shapes) {
            if (s.contains((e.getPoint()))) {
                selectedShape = s;
                selected = true;
            }

        }
        if (!selected) {
            selectedShape = null;

            Ellipse2D.Double el = new Ellipse2D.Double(e.getX() - 35,e.getY() - 35, 70, 70);
            shapes.add(el);
        }
        repaint();
    }

    @Override
    public void mouseReleased(MouseEvent arg0) {
        // TODO Auto-generated method stub

    }

    public void mouseDraged(MouseEvent e) {
        if(selectedShape != null){
            Ellipse2D el = (Ellipse2D)selectedShape;
            
            
        }
    
          }
    }

30.12.2008. u 22:05 

Ivan Ivanic
Ivan Ivanic
Freelance, Anywhere
Fruška Gora

Član broj: 203038
Poruke: 179
82.208.203.*

Sajt: ivan.yggdrasillcode.com


Profil

icon Re: mouseReleased - Pomeranje...02.01.2009. u 15:25
http://www.leepoint.net/notes-java/examples/mouse/20dragdemo.html
Rad rad i samo rad :-D
02.01.2009. u 15:25 

bgd2500

Član broj: 55912
Poruke: 164
*.finsoft.co.yu.



Profil

icon Re: mouseReleased - Pomeranje...08.01.2009. u 16:06
Da bi ista radilo dodaj MouseMotionListener i preimenuj metod "mouseDraged" u "mouseDragged". Za dalje ces se snaci..
08.01.2009. u 16:06 

[es] :: Java :: mouseReleased - Pomeranje...

[ Pregleda: 309 | Odgovora: 2 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.