Rechteck via Mouse bewegen

Hallo Leute,
beschäftige mich noch nicht so lange mit gui's und wollte ein Beispiel aus dem Internet nachbilden. Eigentlich soll nur ein Rechteck via Mouse Drag über den Bildschirm gezogen werden können, auf rotem JPanel. Leider wird der Panel gar nicht erst angezeigt nur der Frame dadrunter ist sichtbar. Das Rechteck lässt sich zwar ziehen, aber dabei bleiben Kopien des Rechtecks auf der Zeichenfläche übrig ...
Ich blick da nicht durch ... :bahnhof:
Anfänger dankt Helfenden :)

Hier der Code :
Java:
package draganddrop;

public class Main {

    public static void main(String[] args) {
        new Frame();
    }
}

package draganddrop;
import javax.swing.*;
import java.awt.*;

public class Frame extends JFrame {
    Dimension size = Toolkit.getDefaultToolkit().getScreenSize();

    public Frame() {
        setSize(size);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setBackground(Color.green);
        DropPanel panel = new DropPanel();
        this.getContentPane().add(panel);
        setVisible(true);
    }
}

package draganddrop;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.MouseInputAdapter;

public class DropPanel extends JPanel {
     Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
     Rectangle quadrat = new Rectangle(100, 100, 150, 75);

     public DropPanel(){
         setBackground(Color.red);
         setSize(size);
         this.setVisible(true);
         new DragController(this);
     }

      @Override
    protected void paintComponent(Graphics g) {
        super.paintComponents(g);
        g.setColor(Color.yellow);
        g.fillRect(quadrat.x, quadrat.y, quadrat.width, quadrat.height);
    }

    public void setQuadrat(Point p) {
        quadrat.setLocation(p);
        repaint();
    }

    class DragController extends MouseInputAdapter {
        DropPanel panel;
        Point move = new Point();
        boolean dragging = false;

        public DragController(DropPanel panel){
            this.panel = panel;
            panel.addMouseListener(this);
            panel.addMouseMotionListener(this);
        }

        @Override
        public void mousePressed(MouseEvent e) {
            Point p = e.getPoint();
            if(quadrat.contains(p)) {
                move.x = p.x - quadrat.x;
                move.y = p.y - quadrat.y;
                dragging = true;
            }
        }
        @Override
        public void mouseReleased(MouseEvent e) {
            dragging = false;
        }
        @Override
        public void mouseDragged(MouseEvent e) {
            if(dragging) {
                move.x = e.getX() - move.x;
                move.y = e.getY() - move.y;
                panel.setQuadrat(move);
            }
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
In paintComponent als erstes
super.paintComponent(g);
(ohne 's').

Mit dem Draggen stimmt noch was nicht, aber das findest du vielleicht raus...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Rechteck per Mouse aufziehen AWT, Swing, JavaFX & SWT 7
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
berserkerdq2 Mein Rechteck hat 4 Seiten, ich soll je nach dem, welche Seite berührt wurde, etwas ausführen, wie prüfe ich das? AWT, Swing, JavaFX & SWT 12
B AWT Rechteck abnehmen lassen AWT, Swing, JavaFX & SWT 9
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
E Button verschwindet nachdem ein Rechteck gezeichnet wurde AWT, Swing, JavaFX & SWT 5
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
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
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
F 2D-Grafik Gestricheltes Rechteck AWT, Swing, JavaFX & SWT 1
Z Frame mit Rechteck! AWT, Swing, JavaFX & SWT 16
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
S Warum wird dieses Rechteck nicht korrekt gemalt? AWT, Swing, JavaFX & SWT 7
S "Quadrat oder Rechteck" - Check AWT, Swing, JavaFX & SWT 3
C Rechteck drehen AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
M JavaFX Rechteck mit MausListener AWT, Swing, JavaFX & SWT 3
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
I Rechteck eines Graphics eines JPanels in einem anderen JPanel anzeigen AWT, Swing, JavaFX & SWT 7
T transparent geht nicht (btw: rechteck) AWT, Swing, JavaFX & SWT 13
J SWT Rechteck Füllfarbe wird bei Action falsch gefüll AWT, Swing, JavaFX & SWT 2
A Rechteck zeichen AWT, Swing, JavaFX & SWT 4
C Auto fahren - Rechteck JFrame AWT, Swing, JavaFX & SWT 6
E Swing Rechteck und Kreise verschieben AWT, Swing, JavaFX & SWT 3
G Swing Rechteck uebermalen AWT, Swing, JavaFX & SWT 10
M Rechteck "umdrehen"/über die Kante drehen AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Rechteck mit dickerem Rand zeichnen AWT, Swing, JavaFX & SWT 8
H Rechteck grafisch ausgeben (2D) AWT, Swing, JavaFX & SWT 3
G Rechteck mit Farbverlauf AWT, Swing, JavaFX & SWT 5
E Rechteck in JPanel Zeichnen AWT, Swing, JavaFX & SWT 6
G Rechteck zeichnen + "special features" :-) AWT, Swing, JavaFX & SWT 16
A Java Button mal nicht nur als rechteck AWT, Swing, JavaFX & SWT 16
B awt rechteck zeichnen AWT, Swing, JavaFX & SWT 3
R Rechteck drehen! AWT, Swing, JavaFX & SWT 4
K Problem mit JLabel, Rechteck, repaint() ;) AWT, Swing, JavaFX & SWT 2
J Auf Button - Druck soll Rechteck Farbe verändern AWT, Swing, JavaFX & SWT 8
M Rechteck zeichnen AWT, Swing, JavaFX & SWT 4
TheJavaKid Kreis, Rechteck, Linie. verschieben AWT, Swing, JavaFX & SWT 5
A Dreidimensionales Rechteck AWT, Swing, JavaFX & SWT 3
C Schräges Rechteck in Swing? AWT, Swing, JavaFX & SWT 7
G Rechteck normalisieren AWT, Swing, JavaFX & SWT 2
P Rechteck "verkehrt" herum zeichnen AWT, Swing, JavaFX & SWT 2
G mouse events AWT, Swing, JavaFX & SWT 6
N Mouse methods AWT, Swing, JavaFX & SWT 10
G Mouse Event in anderemm Event auslösen AWT, Swing, JavaFX & SWT 50
P kein Scrollen nach affinertransformation bei mouse dragged AWT, Swing, JavaFX & SWT 2
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
M Java FX Mouse over AWT, Swing, JavaFX & SWT 4
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
U Mouse + Keylistener AWT, Swing, JavaFX & SWT 12
B GUI mit Mouse Touch AWT, Swing, JavaFX & SWT 27
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
A Mouse event und exit on close AWT, Swing, JavaFX & SWT 11
H Java Robot mouse funktioniert nur auf Notebook nicht. AWT, Swing, JavaFX & SWT 4
E JFace ListSelectionDialog & Mouse-Events? AWT, Swing, JavaFX & SWT 2
lumo SWT Composite Mouse Track Lisetner AWT, Swing, JavaFX & SWT 2
K JButton nur dann aktivieren, wenn die Mouse 3 Sek. über dem Button bleibt AWT, Swing, JavaFX & SWT 2
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
H fwststellen, ob sich Mouse auf dem Rand befindet AWT, Swing, JavaFX & SWT 3
Dit_ Buttons Mouse-Over Effekt AWT, Swing, JavaFX & SWT 8
R Key und Mouse Events AWT, Swing, JavaFX & SWT 2
Iron Monkey JTable 2 Selektionsfarben Mouse-Event AWT, Swing, JavaFX & SWT 8
D Mouse Koordinaten AWT, Swing, JavaFX & SWT 2
P Mouse Listener beenden AWT, Swing, JavaFX & SWT 14
raptorrs JFrame nur anzeigen, solange die Mouse gedrückt ist AWT, Swing, JavaFX & SWT 3
G JButton Mouse Over Text AWT, Swing, JavaFX & SWT 2
T Mouse Popup AWT, Swing, JavaFX & SWT 2
M Bug; Swing-Worker, Progressbar und Mouse AWT, Swing, JavaFX & SWT 22
R Mouse Wheel funktioniert nicht im JDialog ! AWT, Swing, JavaFX & SWT 4
T mouse-event auf jcolorchooser AWT, Swing, JavaFX & SWT 2
M eine zeichnen beim mouse ziehen AWT, Swing, JavaFX & SWT 8
K Mouse Events der Scrollbar/pane AWT, Swing, JavaFX & SWT 2
V JPopupMenu Problem und Tipp zu mouse/key AWT, Swing, JavaFX & SWT 3
S Mouse-Event in JTable AWT, Swing, JavaFX & SWT 3
K Mouse Position nach Drag und Drop? AWT, Swing, JavaFX & SWT 4
M Grafikobjekte mit Mouse auswählen und verschieben AWT, Swing, JavaFX & SWT 2
D JLabel aus einem Mouse- bzw. KeyListener aendern AWT, Swing, JavaFX & SWT 2
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
N Objecte bewegen mit Tastatur AWT, Swing, JavaFX & SWT 5
B mit maus Objekt bewegen AWT, Swing, JavaFX & SWT 3
DonBronson Objekt bewegen (Mausposition) AWT, Swing, JavaFX & SWT 3
Z Button bewegen und Plätze tauschen AWT, Swing, JavaFX & SWT 4
Z Swing Button anklicken und bewegen AWT, Swing, JavaFX & SWT 2
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
D JavaFX Pane per Drag&Drop bewegen? AWT, Swing, JavaFX & SWT 2
A Swing JButton mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 6
L Swing Panels bewegen wie Windows 10 Kacheln AWT, Swing, JavaFX & SWT 0
KilledByCheese 2D-Grafik Feld automatisch bewegen, in zeitabständen AWT, Swing, JavaFX & SWT 7
N Programm mit Swing und Thread, Figur bewegen sich nicht AWT, Swing, JavaFX & SWT 6
K Funktion für das Bewegen des Balles AWT, Swing, JavaFX & SWT 5
Z SnakeGame Schlange per KeyListener bewegen! AWT, Swing, JavaFX & SWT 10
F 2D-Grafik Objekt durch Einwirkung einer Kraft im Raum bewegen AWT, Swing, JavaFX & SWT 14
B Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite. AWT, Swing, JavaFX & SWT 7
A Panel lässt sich nicht bewegen AWT, Swing, JavaFX & SWT 2
D Bild bewegen mit Tastendruck AWT, Swing, JavaFX & SWT 7
E Swing Objekt zu Position (Point) bewegen AWT, Swing, JavaFX & SWT 2
M Swing + Java2D Sichtfeld bewegen verhält sich träge AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben