مرحبا ,

انا جديد في عالم برمجة الجافا واريد مساعدة في كتابة كود استطيع من خلاله عند اختيار واحد من هذه الخيارات ( مربع , دائرة , مستطيل ) من Combobox بعد ذالك النقر في اي مكان بالنافذة ويتم رسم الشكل المراد طبعا حسب احداثيات الماوس وانا يكون حجم الشكل محدد مسبقا اي لا حاجة لتحديد الحكم بالمؤشر .

انا حاولة كتابة كود ولاكن لم ينفع

            package pro;

            import java.awt.BorderLayout;
            import javax.swing.JPanel;
            import java.awt.FlowLayout;
            import java.awt.event.MouseEvent;
            import java.awt.event.MouseListener;
            import java.awt.Color;
            import java.awt.Graphics;
            import java.awt.event.MouseMotionListener;
            import javax.swing.JFrame;
            import javax.swing.JLabel;


            public class first  extends JFrame {

                private JLabel label;
                private JPanel panel;


                first(){
                    super("title here");
                    setLayout(new BorderLayout());
                    panel = new JPanel();
                    panel.setBackground(Color.white);
                    add(panel,BorderLayout.CENTER);
                    label = new JLabel("Mouse out side the pannel");
                    add(label,BorderLayout.SOUTH);

                    handlerclass handler = new handlerclass();

                    panel.addMouseListener(handler);
                    panel.addMouseMotionListener(handler);

                }




                public class handlerclass implements MouseListener ,  MouseMotionListener{

                    @Override
                    public void mouseClicked(MouseEvent event){

                        label.setText(String.format("you have clicked on %d and %d ", event.getX() , event.getY()));
                        repaint(event.getX(), event.getY(), 100, 100);

                    }

                    @Override
                    public void mousePressed(MouseEvent e) {

                    }

                    @Override
                    public void mouseReleased(MouseEvent e) {}

                    @Override
                    public void mouseEntered(MouseEvent e) { }

                    @Override
                    public void mouseExited(MouseEvent e) {}

                    @Override
                    public void mouseDragged(MouseEvent e) {}

                    @Override
                    public void mouseMoved(MouseEvent event) {
                        label.setText(String.format("You Moved on %d and %d ", event.getX() , event.getY()));
                    }

                }


            }