paint-methode

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • paint-methode

    hallo kann mir jemand hierbei helfen? und zwar will ich ein paar kreise mittel der paint methode zeichen dies soll dann alles in ein JPanel. leider funktioniert das nicht so wie ich mir das vorstelle. vielleicht wisst ihr ja mehr?!

    Quellcode

    1. package AugenRoller;
    2. import java.awt.BorderLayout;
    3. import java.awt.Graphics;
    4. import java.awt.GridLayout;
    5. import javax.swing.JButton;
    6. import javax.swing.JFrame;
    7. import javax.swing.JPanel;
    8. import javax.swing.JScrollBar;
    9. public class Anzeiger
    10. extends JFrame
    11. {
    12. public Anzeiger()
    13. {
    14. JFrame jf = new JFrame("Schau mir in die Augen, kleines!");
    15. jf.setSize(550,350);
    16. jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    17. jf.getContentPane().add(erzeugeAnsicht());
    18. jf.setVisible(true);
    19. }
    20. public JPanel erzeugeAnsicht()
    21. {
    22. JPanel ansicht = new JPanel(new BorderLayout(1,2));
    23. JPanel oben = new JPanel(new BorderLayout(2,2));
    24. JPanel unten = new JPanel(new GridLayout(1,2));
    25. JPanel zeichenbereich = new JPanel();
    26. JScrollBar sb_rechts = new JScrollBar(JScrollBar.VERTICAL, 125, 1, 75, 175);
    27. JScrollBar sb_unten = new JScrollBar(JScrollBar.HORIZONTAL, 125, 1, 75, 175);
    28. oben.add(zeichenbereich, BorderLayout.CENTER);
    29. oben.add(sb_rechts, BorderLayout.EAST);
    30. oben.add(sb_unten, BorderLayout.SOUTH);
    31. JButton auf = new JButton("Augen auf");
    32. JButton zu = new JButton("Augen zu");
    33. unten.add(auf, BorderLayout.WEST);
    34. unten.add(zu, BorderLayout.EAST);
    35. ansicht.add(oben, BorderLayout.CENTER);
    36. ansicht.add(unten, BorderLayout.SOUTH);
    37. return ansicht;
    38. }
    39. public void paint(Graphics g)
    40. {
    41. g.drawOval(50, 50, 200, 200);
    42. g.drawOval(300, 50, 200, 200);
    43. g.fillOval(125, 125, 50, 50);
    44. g.fillOval(375, 125, 50, 50);
    45. }
    46. public static void main(String[] args)
    47. {
    48. new Anzeiger();
    49. }
    50. }
    Alles anzeigen
  • hab jetzt auf die Schnelle auch keinen Fehler gefunden..

    aber wenn dein Ziel ein Paint Programm ist -> Schau mal hier:

    Quellcode

    1. import java.awt.*;
    2. import java.awt.event.*;
    3. import java.awt.geom.*;
    4. import java.util.*;
    5. public class Anzeiger extends Frame {
    6. private Ellipse2D.Double actEllipse;
    7. private Vector drawList;
    8. public static void main(String[] args) {
    9. Anzeiger win = new Anzeiger();
    10. win.setBounds(100, 100, 400, 400);
    11. win.setVisible(true);
    12. }
    13. public Anzeiger() {
    14. super("Mouse-Motion Example");
    15. actEllipse = new Ellipse2D.Double(0, 0, 0, 0);
    16. drawList = new Vector();
    17. addMouseListener(new MyMouseListener());
    18. addMouseMotionListener(new MyMouseMotionListener());
    19. }
    20. class MyMouseListener extends MouseAdapter {
    21. public void mousePressed(MouseEvent e) {
    22. actEllipse = new Ellipse2D.Double(e.getX(), e.getY(), 0, 0);
    23. }
    24. public void mouseReleased(MouseEvent e) {
    25. if (actEllipse.width > 0 || actEllipse.height > 0)
    26. drawList.addElement(actEllipse);
    27. repaint();
    28. }
    29. }
    30. class MyMouseMotionListener extends MouseMotionAdapter {
    31. public void mouseDragged(MouseEvent e) {
    32. int x = e.getX();
    33. int y = e.getY();
    34. if (x > actEllipse.x && y > actEllipse.y) {
    35. actEllipse.width = x - actEllipse.x;
    36. actEllipse.height = y - actEllipse.y;
    37. }
    38. repaint();
    39. }
    40. }
    41. public void paint(Graphics g) {
    42. Ellipse2D.Double el;
    43. Enumeration e;
    44. for (e = drawList.elements(); e.hasMoreElements();) {
    45. el = (Ellipse2D.Double) e.nextElement();
    46. g.drawOval((int) el.x, (int) el.y, (int) el.width, (int) el.height);
    47. }
    48. if (actEllipse.x > 0 || actEllipse.y > 0) {
    49. g.drawOval((int) actEllipse.x, (int) actEllipse.y,
    50. (int) actEllipse.width, (int) actEllipse.height);
    51. }
    52. }
    53. }
    Alles anzeigen