folder Tahribat.com Forumları
linefolder Java
linefolder Sürüklenebilir Çizimler (Java)



Sürüklenebilir Çizimler (Java)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.MouseInputAdapter;
     
    public class GraphicDragAndDrop extends JPanel {
        Rectangle rect = new Rectangle(100,100,150,75);
     
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            g2.setPaint(Color.blue);
            g2.draw(rect);
        }
     
        public void setRect(int x, int y) {
            rect.setLocation(x, y);
            repaint();
        }
     
        public static void main(String[] args) {
            GraphicDragAndDrop test = new GraphicDragAndDrop();
            new GraphicDragController(test);
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.add(test);
            f.setSize(400,400);
            f.setLocation(100,100);
            f.setVisible(true);
        }
    }
     
    class GraphicDragController extends MouseInputAdapter {
        GraphicDragAndDrop component;
        Point offset = new Point();
        boolean dragging = false;
     
        public GraphicDragController(GraphicDragAndDrop gdad) {
            component = gdad;
            component.addMouseListener(this);
            component.addMouseMotionListener(this);
        }
     
        public void mousePressed(MouseEvent e) {
            Point p = e.getPoint();
            Rectangle r = component.rect;
            if(r.contains(p)) {
                offset.x = p.x - r.x;
                offset.y = p.y - r.y;
                dragging = true;
            }
        }
     
        public void mouseReleased(MouseEvent e) {
            dragging = false;
        }
     
        public void mouseDragged(MouseEvent e) {
            if(dragging) {
                int x = e.getX() - offset.x;
                int y = e.getY() - offset.y;
                component.setRect(x, y);
            }
        }
    }

    euler yolu ile ilgili bi proje ile uraşıyorum,dragdrop için java dökümantasyonunu kurcaladım ama bişey çıkmadı bende bunu buldum googledan.

    Burda adam rectangle oluşturmuş falan yapmış... Benim yapmaya çalıştığım şey şu;

     

    ben bu yukarıda verdiğim kodu nasıl bu arayüze oturturumda yaparım bu işi? Vaktim var,ipucu lazım bana,ipucu verin uraşırım :)

     

    Kafamdakileride buraya darmadağın yazayım;

    rectangle bi tür olduğu için üzerinde çalışması daha rahat ama graflarla ilgili bişey olduğu için daire kullanmak istiyorum bu bi sorun....

    ikinci bi rect çizdirmeyi denedim g2 ile ama ikinci dikdörtgen hareket etmedi,sanırım GraphicDragAndDrop sınıfından bi nesne oluşturup onunla birşeyler yaparak ekliyor sürüklemeyi ama çözemedim.....

    ben daha çok tek bi köşe ve tek bir bağ sınıfı olsun vertex ekle dendiğinde belirtilen koordinatlarda sürüklenebilir bir daire oluşturulsun istiyorum. Böyle her yeni çizdirilecek şey için ayrı kod olmadan direk köşeEkle() metodu ile esnek bişey yapmalıyım.

     

    Her türlü fikir,öneri,ipucu kabul edilir :-)


    :)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Bir up çeksem belki duyulur sesim :)


    :)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asiminnesli
    asiminnesli's avatar
    Kayıt Tarihi: 19/Mart/2010
    Erkek

    java bilmem ama dikdörtgen daire artık her neyse tıklantıktan sonra merkezini yada ağırlık merkezini mousenin koordinatları yaparsan gelir herhalde ama bilmiyorum java 


    I am Jack's inflamed sense of rejection
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    GraphicDragAndDrop test = new GraphicDragAndDrop();

    şunu yeni diktortgen eklerken çağırırsan sıkıntı olmaz hepsini çağırırdan sürükleme olayında 

    test.Click += new EventHandler(testMouse_Click) event olarak çağırman gerekir javacası nasıl olur denemedim bilemiyorum :)


    Si vis pacem para bellum.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    SinusX bunu yazdı:
    -----------------------------

    GraphicDragAndDrop test = new GraphicDragAndDrop();

    şunu yeni diktortgen eklerken çağırırsan sıkıntı olmaz hepsini çağırırdan sürükleme olayında 

    test.Click += new EventHandler(testMouse_Click) event olarak çağırman gerekir javacası nasıl olur denemedim bilemiyorum :)


    -----------------------------

    c#ta event eklemeyi ben de biliyorum da javada sıkıntı azcık :D


    :)
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esquire
    Esquire's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    javanın grafik ve arayüzünü kullanmak başlı başına bir iş. javada yapılmış uygulamaları gördükçe neden bu kadar zor diyorum. standart bir şeyi yok. bir kitap tavsiyesi edebilirim. video game programming evil genius bu kitapta grafik uygulamaları oyuna dönüştürülmesi gayet güzel anlatılıyor. belki işine yarayan bir şeyler vardır. bu işi yaparsın umarım  ve nasıl yapıldığınıda anlatırsın. iyi çalışmalar.


    boş
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Esquire bunu yazdı:
    -----------------------------

    javanın grafik ve arayüzünü kullanmak başlı başına bir iş. javada yapılmış uygulamaları gördükçe neden bu kadar zor diyorum. standart bir şeyi yok. bir kitap tavsiyesi edebilirim. video game programming evil genius bu kitapta grafik uygulamaları oyuna dönüştürülmesi gayet güzel anlatılıyor. belki işine yarayan bir şeyler vardır. bu işi yaparsın umarım  ve nasıl yapıldığınıda anlatırsın. iyi çalışmalar.


    -----------------------------

    http://www.mediafire.com/?henqmltddij

    Dediğin kitabı buldum,biraz kurcalıyım :) bitirmek zorundayım çünkü sene sonu ortalamasının %24ü bu ödev. ayrıca SARIyla birlikteyiz bu ödevde,bitmezse kafamı sağlam ütüler :D Bittiği zaman anlatım yaparım tabikide :)


    :)
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    Dur bakıyım akşama az kurcalıyım şunu euler çevre filan diyince ilgimi çekti :)


    Si vis pacem para bellum.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SARI
    SARI's avatar
    Banlanmış Üye
    Kayıt Tarihi: 29/Eylül/2009
    Erkek

    bir uplayalim bakalım :D


    Ban Sebebi : Molrada Haarket Eiğtti için Bdnlaanı... Türkçe öğretmenliği okuyan arkadaşım sana ders verebilir admin arkadaş :)
Toplam Hit: 1305 Toplam Mesaj: 9