Hallo Leute 
Ich arbeite an einem eher einfacherem Zeichenprogramm mit NetBeans.
Also meine Hauptfrage: Wie kann ich ein Panelhintergrund setzen auf dem ich dann auch Zeichnen kann?
Das JMenuItem paste (oder public void pastepic, hab es sowieso gekennzeichnet ) soll ein Hintergrund setzen.
 ) soll ein Hintergrund setzen.
Und jetzt zum Zweiten ich hab erst vor kurzem mit Java programmierung begonnen also hab ich den ganzen source code reingeschrieben. Falls ihr Tipps habt wie ich "schöner" schreiben könnte lasst es mich bitte wissen .
.
Nochmal bin nur ein anfänger erklärt auch bitte einfach .
.
So ich hoffe ihr könnt mir helfen bedanke mich auch schon im Vorraus
	
	
	
	
	
		
	
			
			Ich arbeite an einem eher einfacherem Zeichenprogramm mit NetBeans.
Also meine Hauptfrage: Wie kann ich ein Panelhintergrund setzen auf dem ich dann auch Zeichnen kann?
Das JMenuItem paste (oder public void pastepic, hab es sowieso gekennzeichnet
Und jetzt zum Zweiten ich hab erst vor kurzem mit Java programmierung begonnen also hab ich den ganzen source code reingeschrieben. Falls ihr Tipps habt wie ich "schöner" schreiben könnte lasst es mich bitte wissen
Nochmal bin nur ein anfänger erklärt auch bitte einfach
So ich hoffe ihr könnt mir helfen bedanke mich auch schon im Vorraus
		Java:
	
	package Paint;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import javax.imageio.ImageIO;
import javax.swing.*;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
public class paint extends JPanel implements MouseListener, MouseMotionListener, ActionListener {
    private JFrame jf = new JFrame("Draw");
    private JPanel jp = new JPanel();
    private JMenuBar jmb = new JMenuBar();
    private JMenu thickness = new JMenu("Thickness"), data = new JMenu("Data"), colors = new JMenu("Colors"), pic = new JMenu("Pictures"), forms = new JMenu("Forms");
    private JMenuItem ul = new JMenuItem("Ultralight"), light = new JMenuItem("Light"), med = new JMenuItem("Medium"), fat = new JMenuItem("Fat"), ud = new JMenuItem("Userdefined"),
            save = new JMenuItem("Save"), open = new JMenuItem("Open"), del = new JMenuItem("Delete"),
            pen = new JMenuItem("Pencil"), backg = new JMenuItem("Background"), paste = new JMenuItem("Paste"),
            rect = new JMenuItem("Rect"), circ = new JMenuItem("Circle"), arc = new JMenuItem("Arc"), pic1 = new JMenuItem("pic");
    private int x, y, thick = 5, form = 1;
    private Color col = Color.BLACK, c = Color.WHITE;
    private Image img = Toolkit.getDefaultToolkit().getImage("lala.jpg");
    private ArrayList<Point> points = new ArrayList<Point>(37);
    private Point p;
    private Image pic12;
    public void createFrame() {
        jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jf.pack();
        jf.setLocationRelativeTo(null);
        jf.setJMenuBar(jmb);
        jf.add(jp);
        jmb.add(forms);
        jmb.add(thickness);
        jmb.add(data);
        jmb.add(colors);
        jmb.add(pic);
        forms.add(rect);
        forms.add(circ);
        forms.add(arc);
        forms.add(pic1);
        thickness.add(ul);
        thickness.add(light);
        thickness.add(med);
        thickness.add(fat);
        thickness.add(ud);
        data.add(save);
        data.add(open);
        data.add(del);
        colors.add(pen);
        colors.add(backg);
        pic.add(paste);
        jf.setVisible(true);
    }
    public void dragged() {
        jp.addMouseMotionListener(new MouseMotionListener() {
            @Override
            public void mouseMoved(MouseEvent e) {
            }
            @Override
            public void mouseDragged(MouseEvent e) {
                p = new Point(e.getX(), e.getY());
                System.out.println(p);
                points.add(p);
                Graphics g = ((JPanel) e.getComponent()).getGraphics();
                g.setColor(col);
                if (form == 1) {
                    g.fillRect(p.x, p.y, thick, thick);
                } else if (form == 2) {
                    g.fillOval(p.x, p.y, thick, thick);
                } else if (form == 3) {
                    g.fillArc(p.x, p.y, thick, thick, thick, thick);
                    //hier wollte ich versuchen dass man bilder zeichnet aber beachtet das nicht
                    
                } else if (form == 4) {
//                    try {
//                        pic12 = ImageIO.read(new File("lala.jpg"));
//                    } catch (Exception ex) {
//                        ex.getStackTrace();
//                    }
                    
                }
                g.dispose();
            }
        });
    }
    
//    public void paintComponent(Graphics g2){
//        g2.drawImage(pic12, p.x, p.y, pic12.getWidth(this),pic12.getHeight(this),this);
//    }
//    public void paintComponent(){
//        
//  g.setColor(col);
//        if (form == 1) {
//            g.fillRect(x, y, thick, thick);
//        } else if (form == 2) {
//            g.fillOval(x, y, thick, thick);
//        } else if (form == 3) {
//            g.fillArc(x, y, thick, thick, thick, thick);
//        }
//        else if(form == 4){
//        }
//}
//    public void draw() {
//        Graphics g = jp.getGraphics();
//        g.setColor(col);
//        if (form == 1) {
//            g.fillRect(x, y, thick, thick);
//        } else if (form == 2) {
//            g.fillOval(x, y, thick, thick);
//        } else if (form == 3) {
//            g.fillArc(x, y, thick, thick, thick, thick);
//        }
//        else if(form == 4){
//        }
//    }
    public void ultral() {
        ul.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                thick = 5;
            }
        });
    }
    public void light1() {
        light.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                thick = 10;
            }
        });
    }
    public void medium() {
        med.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                thick = 15;
            }
        });
    }
    public void fat1() {
        fat.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                thick = 20;
            }
        });
    }
    public void userdefined() {
        ud.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                thick = Integer.parseInt(JOptionPane.showInputDialog("Type in the thickness"));
            }
        });
    }
    public void pencil() {
        pen.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                col = JColorChooser.showDialog(null, "Colorchooser", null);
            }
        });
    }
    public void background() {
        backg.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                c = JColorChooser.showDialog(null, "Colorchooser", null);
                jp.setBackground(c);
            }
        });
    }
    public void drawRect() {
        rect.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                form = 1;
            }
        });
    }
    public void drawCircle() {
        circ.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                form = 2;
            }
        });
    }
    public void drawArc() {
        arc.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                form = 3;
            }
        });
    }
    public void drawPic() {
        arc.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                form = 4;
            }
        });
    }
    public void delete() {
        del.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                points.clear();
            }
        });
    }
    
    //hier fängt die hauptfrage an (EINER meiner versuche)
    
    public void pastepic(){
        paste.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                paint();
            }
        });
    }
    
    public static BufferedImage load(String name){
        try {
           BufferedImage img = ImageIO.read(paint.class.getResourceAsStream(name));
           return img;
        } catch (IOException e) {
           e.printStackTrace();
        }
        return null;
    }
    
    public Bilder(){ 
        setLayout(null);
        setPreferredSize(new Dimension(800,600));
    }
    
     public void paint(){
         Graphics g = jp.getGraphics();
         Graphics2D g2d = (Graphics2D) g;
         g2d.drawImage(load("lala.jpg"),0,0,null);
     }
     
     // und hier endet sie
    public static void main(String[] args) {
        paint obj = new paint();
        obj.createFrame();
        obj.dragged();
        obj.ultral();
        obj.light1();
        obj.medium();
        obj.fat1();
        obj.userdefined();
        obj.pencil();
        obj.background();
        obj.drawRect();
        obj.drawCircle();
        obj.delete();
        obj.drawArc();
        obj.drawPic();
        obj.pastepic();
    }
    @Override
    public void mouseClicked(MouseEvent me) {
    }
    @Override
    public void mousePressed(MouseEvent me) {
    }
    @Override
    public void mouseReleased(MouseEvent me) {
    }
    @Override
    public void mouseEntered(MouseEvent me) {
    }
    @Override
    public void mouseExited(MouseEvent me) {
    }
    @Override
    public void mouseDragged(MouseEvent me) {
    }
    @Override
    public void mouseMoved(MouseEvent me) {
    }
    @Override
    public void actionPerformed(ActionEvent ae) {
    }
} 
				 
 
		 
 
		 
			