Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Nagon som flyttat en figur med GeneralPath innan?

Postades av 2004-12-01 15:37:47 - David kahn, i forum java, Tråden har 4 Kommentarer och lästs av 939 personer

Har ni flyttat en figur skapat med GeneralPath innan och anvant er av just createTransformedShape for att gora det? Eller pa nagot annat satt?


Isf blir jag tacksam om du skulle kunna visa hur detta gar till.


Svara

Sv: Nagon som flyttat en figur med GeneralPath innan?

Postades av 2004-12-01 20:55:08 - Simon Dahlbacka

skapa en AffineTransform som flyttar på den

AffineTransform foo = AffineTransform.getTranslateInstance(dx, dy);
Shape ny = din_path.createTransformedShape(foo);


nåt sånt..

du har inte tänkt på att testa själv?


Svara

Sv:Nagon som flyttat en figur med GeneralPath innan?

Postades av 2004-12-02 09:48:59 - David kahn

Problemet ar att jag kan for lite java, vet tex inte var jag ska lagga ovanstaende kod for att fa det att fungera, har testad flera varianter men for inte den resultat jag vill ha.


Svara

Sv: Nagon som flyttat en figur med GeneralPath innan?

Postades av 2004-12-02 09:54:47 - Simon Dahlbacka

koden ovan skapar ju en ny figur..

För övrigt så är det inte så enkelt att säga var du ska smälla in den, om du inte visar din kod..


Svara

Sv:Nagon som flyttat en figur med GeneralPath innan?

Postades av 2004-12-02 10:09:41 - David kahn

Har finns koden, den funkar och flyttar pilen men jag vill lara mig createTransformedShape for att flytta en figur med.
Hur skriver man da om koden sa att man for den att funka med createTransformedShape ?


import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.*;

public class Applet1 extends JPanel
{
    GeneralPath arrow = new GeneralPath();
    Paint gradientPaint = new GradientPaint(-10, 0, Color.red, 30, 0,
                                            Color.yellow);
    private int xA, yA;
    boolean dragging;
    Point offset = new Point();
    int rotate_value=0;
   
    
    public void paintComponent(Graphics _g)
    {
        super.paintComponent(_g);
        Graphics2D g = (Graphics2D) _g;
        setBackground(Color.white);

        g.translate(xA, yA);
        g.rotate(Math.toRadians(rotate_value));

        g.setPaint(gradientPaint);
        g.fill(arrow);
        g.setPaint(Color.BLACK);
        g.draw(arrow);

        g.rotate(Math.toRadians(rotate_value));
        g.translate(-xA, -yA);

    }

    public Applet1(int x, int y)
    {
        arrow.moveTo(-40, 10);
        arrow.lineTo(0, 10);
        arrow.lineTo(0, 0);
        arrow.lineTo(30, 20); //Size for arrow head
        arrow.lineTo(0, 40);  //for height
        arrow.lineTo(0, 30);
        arrow.lineTo(-40, 30);
        arrow.lineTo(-40, 10);

        xA = x;
        yA = y;

        addMouseListener(new MouseAdapter()
        {
            Rectangle hitRect = new Rectangle(0, 0, 5, 5);

            public void mousePressed(MouseEvent e)
            {
                Point p = e.getPoint();

                System.out.println("hitRect" + hitRect.x + " " + p.x);

                Graphics2D g = (Graphics2D) getGraphics();
                AffineTransform xform = new AffineTransform();

                hitRect.x = e.getX();
                hitRect.y = e.getY();

                xform.setToTranslation(xA, yA);
                xform.rotate(Math.toRadians(rotate_value));
                g.setTransform(xform);

                if (g.hit(hitRect, arrow, false))
                {
                   Rectangle r = getArrowBounds();
                   System.out.println("The arrow is hit " + r + " " + arrow.getBounds().getWidth());
                   offset.x = p.x - r.x;
                   offset.y = p.y - r.y;
                   dragging = true;
                   repaint();
                }
            }

            public void mouseReleased(MouseEvent e)
            {
                setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
                dragging = false;
            }
        });

        addMouseMotionListener(new MouseMotionAdapter()
        {
            public void mouseDragged(MouseEvent e)
            {
                if (dragging)
                {
                    setCursor(new Cursor(Cursor.MOVE_CURSOR));
                    Point p = e.getPoint();

                    System.out.println("dragging " +  p );

                    xA = p.x - offset.x;
                    yA = p.y - offset.y;
                    repaint();
                }
            }
        });
    }

    public Rectangle getArrowBounds()
    {
       Rectangle r = arrow.getBounds();
       return new Rectangle(xA, yA, r.width, r.height);
    }


    public static void main(String args[])
    {
        Frame frame = new Frame("Arrow");
        frame.add(new Applet1(135, 50));
        frame.setBackground(Color.white);
        frame.setSize(new Dimension(400, 350));
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
742
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies