2D-Grafik MouseDragged Linien zeichnen

SuperJavaMan

Mitglied
Hallo Leute :)

Wenn man auf den button klickt wird ein 4-eck gezeichnet.
Wenn man auf das 4-eck dragged wird immer eine linie gezeichnet und gelöscht so das die linie
immer geupdated wird.

Jetzt zum Problem.
Ich habe es schon ungefähr hinbekommen, ABER wenn man dragged sieht man die linie nicht so oft
und nach ein paar sekunden wird die linie gar nich mehr angezeigt.
Ein weiteres problem ist, das wenn man dragged und die maus nicht bewegt wird nichts gezeichnet wird

hie ist auch der code

Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class wurf2 {

    private JFrame frame = new JFrame("Wurf");
    private JPanel panel = new JPanel();
    private JButton btStart = new JButton("Start");
    private int x;
    private int y;
    private int rectx;
    private int recty;
    private int rectsize = 50;

    public void makeFrame() {
        frame.setSize(500, 500);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        frame.setLayout(new GridLayout(2, 1));
        frame.add(btStart);
        frame.add(panel);
        frame.setVisible(true);
    }

    public void onStart() {
        btStart.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                Graphics g = panel.getGraphics();
                int breite = panel.getWidth();
                int hohe = panel.getHeight();
                rectx = (breite / 2) - 25;
                recty = (hohe / 2) - 25;
                g.drawRect(rectx, recty, rectsize, rectsize);
            }
        });
    }

    public void doWork() {

        panel.addMouseMotionListener(new MouseMotionListener() {

            @Override
            public void mouseDragged(MouseEvent e) {
                Graphics g = panel.getGraphics();
                boolean b = false;
                x = e.getX();
                y = e.getY();
                if (((x >= rectx) && (x <= (rectx + rectsize)) && (y >= recty) && (y <= (recty + rectsize))) || (b == false)) {
                    draw(g);
                    clear(g);
                    b = true;
                }
            }

            @Override
            public void mouseMoved(MouseEvent e) {
            }
        });
    }

    private void draw(Graphics g) {
        g.drawRect(rectx, recty, rectsize, rectsize);
        g.setColor(Color.BLACK);
        g.drawLine(x, y, rectx + (rectsize / 2), recty + (rectsize / 2));
    }

    private void clear(Graphics g) {
        Color c = panel.getBackground();
        g.setColor(c);
        g.drawLine(x, y, rectx + (rectsize / 2), recty + (rectsize / 2));
    }

    public static void main(String[] args) {
        wurf2 w = new wurf2();
        w.makeFrame();
        w.onStart();
        w.doWork();
    }

}

ok danke schon im vorraus :)
 

Foxei

Bekanntes Mitglied
Hi er meint ganz einfach warum du dir die Arbeit machst die Graphics auszulesen. Ein JComponent hast eine Methode die paintComponent(Graphics g) heißt. Einfch diese überschreiben und du kannst super Zeichnen.
Als Beispiel hier ein Wachsender Baum:
JAVA FORUM
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JavaFX javafx mousedragged klappt nicht AWT, Swing, JavaFX & SWT 2
Z Bildervorschau, MouseDragged das Bild verschieben AWT, Swing, JavaFX & SWT 1
M mouseDragged im MouseMotionListener AWT, Swing, JavaFX & SWT 1
P JFrame manuell Grösse verändern durch 'mouseDragged' AWT, Swing, JavaFX & SWT 3
R Swing Verschieben eines jButtons mittels MouseDragged AWT, Swing, JavaFX & SWT 4
Landei Swing MouseDragged auf Containerebene? AWT, Swing, JavaFX & SWT 7
H Ich kann MouseDragged nicht abfangen AWT, Swing, JavaFX & SWT 3
R JLayeredPane - Drag&Drop - mouseDragged AWT, Swing, JavaFX & SWT 6
J mouseDragged und MouseMotionListener AWT, Swing, JavaFX & SWT 3
G Scrollen per mouseDragged (JScrollPane) AWT, Swing, JavaFX & SWT 8
H MouseMotionListener#mouseDragged() in großen Abständen AWT, Swing, JavaFX & SWT 7
M gezeichnete Punkte dynamisch verschieben mit mousedragged AWT, Swing, JavaFX & SWT 4
P JDialog mit mouseDragged(), verschieben ? AWT, Swing, JavaFX & SWT 14
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
T Tic Tac Toe - GUI Linien zeichnen AWT, Swing, JavaFX & SWT 14
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
V JFreechart: In Linechart Linien einzeichnen und Bereiche färben AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
I ContentPane lösche linien AWT, Swing, JavaFX & SWT 1
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
A 2D-Grafik Dickere Linien AWT, Swing, JavaFX & SWT 4
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
D JCombobox mit Linien Styles AWT, Swing, JavaFX & SWT 4
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
P SWT Linien / Pfeile zeichnen in SWT? AWT, Swing, JavaFX & SWT 3
O Sättigung bei Linien AWT, Swing, JavaFX & SWT 2
P Swing Skalieren mit DrawImage macht Linien kaputt AWT, Swing, JavaFX & SWT 6
J 2D-Grafik Fehler beim Überzeichnen von Linien AWT, Swing, JavaFX & SWT 11
K Swing JTable - vertikale Gitter-Linien AWT, Swing, JavaFX & SWT 2
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
C AWT: Pixel für Pixel Linien auf Panel zeichnen AWT, Swing, JavaFX & SWT 2
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
P [gelöst] Verschiebbare Komponenten mit Linien verbinden AWT, Swing, JavaFX & SWT 2
S [Swing] Wie zeichne ich neue Linien AWT, Swing, JavaFX & SWT 3
P Problem beim Linien ziehen! AWT, Swing, JavaFX & SWT 12
Bierhumpen Linien anklicken? AWT, Swing, JavaFX & SWT 9
X Dynamische linien (Position und Länge) AWT, Swing, JavaFX & SWT 4
B Urspungskoordinaten von Linien ändern AWT, Swing, JavaFX & SWT 3
M Farbige Linien zeichnen AWT, Swing, JavaFX & SWT 3
T Linien zeichnen und wieder löschen AWT, Swing, JavaFX & SWT 9
Z Und schon wieder die Linien (Problem beim überzeichnen) AWT, Swing, JavaFX & SWT 4
G Linien Diagram in SWT AWT, Swing, JavaFX & SWT 4
S JTable - Breite der Linien AWT, Swing, JavaFX & SWT 8
F Zeichen von Linien, Rechtecken, zb wie in paint AWT, Swing, JavaFX & SWT 2
M gestrichelte Linien bzw. Pfeile AWT, Swing, JavaFX & SWT 2
M Linien zeichnen und anklicken AWT, Swing, JavaFX & SWT 2
B JTree + Linien im Windows L&F AWT, Swing, JavaFX & SWT 9
G Linien in ein Koordinatensystem zeichen AWT, Swing, JavaFX & SWT 7
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX Canvas neu zeichnen anstoßen AWT, Swing, JavaFX & SWT 34
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
G Dreieck aus Pixeln zeichnen AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
Z Swing Graph zeichnen lassen AWT, Swing, JavaFX & SWT 16
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
L Swing zeichnen AWT, Swing, JavaFX & SWT 14
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
Soloeco Graph zeichnen AWT, Swing, JavaFX & SWT 1
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
I Graph mit Swing zeichnen AWT, Swing, JavaFX & SWT 8
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
I Spielsteine zeichnen und entfernen AWT, Swing, JavaFX & SWT 3
H JavaFX Freezes beim Zeichnen mit Canvas AWT, Swing, JavaFX & SWT 3
H Swing BufferedImage zeichnen AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
I Pfeil zeichnen am Ende einer Linie AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben