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?