Source:
// Question 12.9
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class q129 extends Applet implements ActionListener
{
private Label Prompt;
private TextField Num1Txt, Num2Txt, Num3Txt;
private Button AreaBtn;
private int a, b, c;
private double area;
public void init()
{
Prompt = new Label ("Enter lengths of 3 sides of
triangle");
add (Prompt);
Num1Txt = new TextField (5);
add (Num1Txt);
Num2Txt = new TextField (5);
add (Num2Txt);
Num3Txt = new TextField (5);
add (Num3Txt);
AreaBtn = new Button ("Find area of triangle");
AreaBtn.addActionListener (this);
add (AreaBtn);
}
public void paint (Graphics g)
{
if (isTriangle() == true)
{
area = findArea (a, b, c);
g.drawString ("The area of the triangle is ", 30, 110);
g.drawString (area + " square units.", 30, 130);
}
else
g.drawString ("The lengths do not form a triangle.",
30, 110);
}
public void actionPerformed (ActionEvent e)
{
a = Integer.parseInt (Num1Txt.getText());
b = Integer.parseInt (Num2Txt.getText());
c = Integer.parseInt (Num3Txt.getText());
repaint();
}
private boolean isTriangle()
{
if ((a == 0) || (b == 0) || (c == 0))
return false;
else
{
if ((a + b > c) && (b + c > a) && (a + c
> b))
return true;
else
return false;
}
}
private double findArea (int a, int b, int c)
{
double s = (a + b + c) / 2.0;
double val = Math.sqrt ((s - a) * (s - b) * (s - c));
return val;
}
}