Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Draw different shapes by clicking a specific button for that shape

843807Feb 11 2010 — edited Feb 11 2010
Good day all,

Please, I need help in achieving this concept implementation. I tried to play with some concepts of drawing in applets and wants to implement them by trying this:
import javax.swing.JApplet;
import java.awt.*;
import java.awt.event.ActionEvent;
//import java.applet.Applet;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;

public class Paint extends JApplet implements ActionListener {

JButton rect=new JButton("Rectangle");
JButton circ=new JButton("Circle");
JButton poly=new JButton("Polygon");
JButton elip=new JButton("Elipse");
JLabel paint=new JLabel("My Paint Application");
JLabel sell=new JLabel("Select Line Colour");
JLabel self=new JLabel("select Fill Colour");
JComboBox lcombo=new JComboBox();
JComboBox fcombo=new JComboBox();
Panel draw=new Panel();
JButton back=new JButton("Back");
JButton clear=new JButton("Clear");

int x[]={255,150,200,310,350};
int y[]={300,350,450,450,350};


   

    @Override
    public void init() {
         setLayout(null);
         Font f = new Font("Defualt",Font.BOLD,20);
         paint.setFont(f);
    //paint.setBounds(50,200,180,5);
    paint.setBounds(200,20,200,40);
    add(paint);
    


        sell.setBounds(30,130,200,40);add(sell);

        lcombo.addItem("Choose Line Colour");
        lcombo.addItem("Red");
        lcombo.addItem("Green");
        lcombo.addItem("Blue");
        lcombo.addItem("Yellow");

        fcombo.addItem("Choose fill Colour");
        fcombo.addItem("Red");
        fcombo.addItem("Green");
        fcombo.addItem("Blue");
        fcombo.addItem("Yellow");

        lcombo.setBounds(30,180,200,30);add(lcombo);
        self.setBounds(290,130,200,40);add(self);
        fcombo.setBounds(290,180,200,30); add(fcombo);
        rect.setBounds(30,65,100,50);add(rect);
        rect.addActionListener(this);
        draw.setBounds(20,300,700,400);add(draw);
        draw.setBackground(Color.WHITE);
        draw.setForeground(Color.BLACK);
        back.setBounds(750,400,100,50); add(back);
        back.addActionListener(this);
        clear.setBounds(750,600,100,50);add(clear);
        clear.addActionListener(this);
        circ.addActionListener(this);
        poly.addActionListener(this);
        elip.addActionListener(this);

        circ.setBounds(230,65,100,50);add(circ);
        poly.setBounds(430,65,100,50);add(poly);
        elip.setBounds(630,65,100,50);add(elip);

        setBounds(400,200,550,550);setVisible(true);
}
 
 
 public void actionPerformed(ActionEvent e) {

       

        if (e.getSource()==rect)
          {
            draw.enable(true);
            new Rect();
           if (lcombo.getSelectedItem().equals("Choose Line Colour"))
               new Rect();
             {
               if (fcombo.getSelectedItem().equals("Choose Fill Colour"))
                {
                     new Rect();
                }
             }
            if (lcombo.getSelectedItem().equals("Red"))
             {
              new RedRect();
             }
            if (lcombo.getSelectedItem().equals("Green"))
             {
              new GrRect();
             }
            if (lcombo.getSelectedItem().equals("Blue"))
             {
              new BRect();
             }
            if (lcombo.getSelectedItem().equals("Yellow"))
             {
              new YRect();
             }
              if (fcombo.getSelectedItem().equals("Red"))
             {
              new RedRectF();
             }
            if (fcombo.getSelectedItem().equals("Green"))
             {
              new GrRectF();
             }
            if (fcombo.getSelectedItem().equals("Blue"))
             {
              new BRectF();
             }
            if (fcombo.getSelectedItem().equals("Yellow"))
             {
              new YRectF();
             }


if (e.getSource()==circ)
        {


      }

}

}
class Rect extends Paint
 {
    @Override
    public void paint(Graphics g)
    {
        g.drawRect(150,300,150,150);
        draw.addNotify();
        draw.paint(g);
    }
}
class RedRect extends Paint
{

    @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.RED);
      g.drawRect(150,300,150,150);
            
    }
}

class GrRect extends Paint
{
    @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.GREEN);
      g.drawRect(150,300,150,150);
     }
}

class BRect extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.BLUE);
      g.drawRect(150,300,150,150);
     }
}

class YRect extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.YELLOW);
      g.drawRect(150,300,150,150);
     }
}

class RedRectF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.RED);
      g.fillRect(150,300,150,150);

     }
}

class GrRectF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.GREEN);
      g.fillRect(150,300,150,150);
     }
}

class BRectF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.BLUE);
      g.fillRect(150,300,150,150);
     }
}

class YRectF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.YELLOW);
      g.fillRect(150,300,150,150);
     }
}


class Oval extends Paint
{
        @Override
    public void paint(Graphics g)
    {
       g.drawOval(150,300,150,150);
    }
}
class Redoval extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.RED);
      g.drawOval(150,300,150,150);
     }
}

class Groval extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.GREEN);
      g.drawOval(150,300,150,150);
     }
}

class Boval extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.BLUE);
      g.drawOval(150,300,150,150);
     }
}

class Yoval extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.YELLOW);
      g.drawOval(150,300,150,150);
     }
}

class RedovalF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.RED);
      g.fillOval(150,300,150,150);
     }
}

class GrovalF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.GREEN);
      g.fillOval(150,300,150,150);
     }
}

class BovalF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.BLUE);
      g.fillOval(150,300,150,150);
     }
}

class YovalF extends Paint
{
        @Override
    public void paint(Graphics g)
     {
      g.setColor(Color.YELLOW);
      g.fillOval(150,300,150,150);
     }
}}
How can i make it draw different shapes when i click on a specific button for that shape?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 11 2010
Added on Feb 11 2010
3 comments
1,945 views