Hallo Leute,
ich wollte heut ein Programm erstellen, mit dem ich zum Einen "malen" kann.
Das funktioniert soweit auch. Zusätzlich wollte ich eine weitere Komponente einfügen, welche, wenn die Maus "gemoved" oder geklickt wird, die aktuelle Position anzeigt.
Hierzu hatte ich zunächst ein JLabel versucht und hierauf einfach die jeweilige x und y Koordinate geaddet. Dies funktioniert leider nicht. Bzw. es reagiert nur, wenn der "löschen" button gedrückt wird. Dann wird das ganze ContentPane gelöscht und die letzte x,y Koordinate angezeigt. Dies soll aber immer beim bewegen und beim klicken passieren.
Genauso, als wenn die Ausgabe über System.out.println ausgegeben werden würde.
Hat hier jemand einen Tipp?
Mein aktueller Code:
Ich würde mich über einen Tipp oder eine Lösung freuen
Lg
ich wollte heut ein Programm erstellen, mit dem ich zum Einen "malen" kann.
Das funktioniert soweit auch. Zusätzlich wollte ich eine weitere Komponente einfügen, welche, wenn die Maus "gemoved" oder geklickt wird, die aktuelle Position anzeigt.
Hierzu hatte ich zunächst ein JLabel versucht und hierauf einfach die jeweilige x und y Koordinate geaddet. Dies funktioniert leider nicht. Bzw. es reagiert nur, wenn der "löschen" button gedrückt wird. Dann wird das ganze ContentPane gelöscht und die letzte x,y Koordinate angezeigt. Dies soll aber immer beim bewegen und beim klicken passieren.
Genauso, als wenn die Ausgabe über System.out.println ausgegeben werden würde.
Hat hier jemand einen Tipp?
Mein aktueller Code:
Java:
public class MitMausZeichnen extends JFrame{
public int xval=0,yval=0;
JButton loeschen=new JButton("löschen");
JLabel anzeige=new JLabel();
public MitMausZeichnen() {
setSize(500, 500);
getContentPane().add(loeschen,BorderLayout.NORTH);
getContentPane().add(anzeige,BorderLayout.SOUTH);
loeschen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
getContentPane().repaint();
}
});
addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
xval=e.getX();yval=e.getY();
anzeige.setText(""+xval+" "+yval);
repaint();
revalidate();
}
});
addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
xval=e.getX();yval=e.getY();
repaint();
}
});
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g)
{
g.fillOval(xval, yval, 3, 3);
}
public static void main(String[] args) {
new MitMausZeichnen();
}
}
Ich würde mich über einen Tipp oder eine Lösung freuen
Lg
Zuletzt bearbeitet von einem Moderator: