Hallo liebe Community
Ich habe momentan ein Programm, das aus 3 Klassen besteht.
StarteAnwendung -> hier wird das JFrame erstellt
GUI -> Hier wird alles reingeklatscht (vorerst JPanel namens "Malen")
Malen -> Das ist mein JPanel. Hier wird gemalt.
Weiss jemand, wie ich diesen Rechteck bewegen lassen kann? Ich habe mehrere Codes angeschaut und bin nicht wirklich fündig geworden. Ich habe diese eher nicht so gut verstanden.
Kann mir jemand genau sagen, was ich hier zu machen habe? Wie soll ich es bewerkstelligen, dass beim Klicken auf irgendeinen Punkt beim Rechteck ich das ganze Rechteck bewegen kann?
Ich bin echt entsetzt, da ich ahnungslos verscuhe etwas zu machen.
Ich hoffe auf euere Unterstützung!
P.S.: Ich habe jetzt einen sauberen code hier rein gepostet, da die alten ziemlich "verratzt" sind
Ich habe momentan ein Programm, das aus 3 Klassen besteht.
StarteAnwendung -> hier wird das JFrame erstellt
Java:
import javax.swing.JFrame;
public class StarteAnwendung {
public static void main(String args[]){
JFrame frame = new GUI();
frame.setTitle("Mensch ärger dich nicht - Digital Deluxe Edition");
frame.setVisible(true);
frame.setSize(668, 727);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
}
}
GUI -> Hier wird alles reingeklatscht (vorerst JPanel namens "Malen")
Code:
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
public class GUI extends JFrame implements MouseListener, MouseMotionListener{
public Malen panel;
public GUI(){
super();
panel = new Malen(300,300);
add(panel, BorderLayout.CENTER);
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
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 arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
Malen -> Das ist mein JPanel. Hier wird gemalt.
Code:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Malen extends JPanel{
int xPos;
int yPos;
public Malen(int cxPos, int cyPos){
xPos = cxPos;
yPos = cyPos;
}
public void run(){
while(true){
repaint();
}
}
public void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.fillRect(10+xPos, 10+yPos, 100, 100);
}
}
Weiss jemand, wie ich diesen Rechteck bewegen lassen kann? Ich habe mehrere Codes angeschaut und bin nicht wirklich fündig geworden. Ich habe diese eher nicht so gut verstanden.
Kann mir jemand genau sagen, was ich hier zu machen habe? Wie soll ich es bewerkstelligen, dass beim Klicken auf irgendeinen Punkt beim Rechteck ich das ganze Rechteck bewegen kann?
Ich bin echt entsetzt, da ich ahnungslos verscuhe etwas zu machen.
Ich hoffe auf euere Unterstützung!
P.S.: Ich habe jetzt einen sauberen code hier rein gepostet, da die alten ziemlich "verratzt" sind