Graffitizeichnen

SuperJavaMan

Mitglied
Hallo Leute :)

Ich will ein Zeichenprogramm programmieren mit dem man auch Graffitis zeichnen kann.
Ich hab also schon mal in einer tester klasse ausprobiert also bitte nicht über die schlecht gewählten variabel namen beschweren ;)
Hier ist der GANZE code weil ich noch nicht so lange programmiere gebt mir tipps zu einem besseren programmierstil wenn nötig (was ich natürlich weiß XD)
Java:
package testpackage;


import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.util.Random;
import javax.swing.*;


public class testgrafiti {
    private JFrame jf = new JFrame("Graffiti");
    private JPanel jp = new JPanel();
    private JMenuBar jmb = new JMenuBar();
    private JMenu jm = new JMenu("Style");
    private JMenuItem jmi = new JMenuItem("Graffiti");
    private int zz;
    
    public void create(){
        jf.setSize(500, 500);
        jf.setLocationRelativeTo(null);
        jf.add(jp);
        jf.setJMenuBar(jmb);
        jmb.add(jm);
        jm.add(jmi);
        jf.setVisible(true);
    }
    
    public void graffiti(){
        jmt.addActionListener( new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
              draw();  
            }
        });
    }
    
    private void draw(){
        jp.addMouseMotionListener(new MouseMotionListener() {

            @Override
            public void mouseDragged(MouseEvent e) {
                Graphics g = jp.getGraphics();
                Random rand = new Random();
                int dicke = 10;
                int px = 0;
                int py = 0;
                int x = e.getX();
                int y = e.getY();
                for(int i = 1; i <= 10; i++){
                    zz = rand.nextInt(5+1);
                    for(int j = 1; j <= 10; j++){
                        if(zz == 0){
                            g.drawRect(x+px, y+py, 1, 1);
                            px+=1;
                        }
                        else{
                            px+=1;
                        }
                    }
                    py+=1;
                    px=0;
                }
            }

            @Override
            public void mouseMoved(MouseEvent e) {}
        });
    }
    
    public static void main(String[] args) {
        testgrafiti obj = new testgrafiti();
        obj.create();
        obj.graffiti();
    }
}

und hier noch ein bild von dem was rauskommt

Unbenannt.png

ist alles auf netbeans 8.0.1 programmiert
und danke schon im vorraus :)
 

Neue Themen


Oben