问答题

本题程序的功能是计算圆和三角形的面积。通过菜单“选择”可以分别进行圆和三角形面积的计算。单击菜单项“圆面积计算”,窗口中就会显示两个文本框和一个“确定”按钮,在第一个文本框中输入圆的半径,单击“确定”按钮后就可以在第二个文本框中显示圆的面积。单击菜单项“三角形面积计算”,窗口中就会显示4个文本框和一个“确定”按钮,在前三个文本框中分别输入三角形三个边的长度,单击“确定”按钮后,如果三个边的长度不能组成三角形,结果文本框中会给出提示信息,否则显示三角形的面积;如果输入的值不是数值,则会给出提示信息。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。
import java.awt.*;
import java.awt.event.*;
class circle extends Panel implements AetionListener

double r,area;
TextField radius = null,result = null;
Button b = null;
______;

radius = new TextField(10);
result = new TextField(10);
b = new Button("确定");
add (new Label ("输入半径"));
add (radius);
add(new Label("面积是"));
add(result);
add(b);
b.addActionListener (this);
result,setEnabled (false);

public void actionPerformed(ActionEvent e)

try

r = Double.parseDouble (radius.getText ());
area =Math.PI*r*r;
result,setText (""+area);

catch (Exception ee)

radius.setText ("请输入数字字符");



class triangle extends Panel implements ActionListener

double a = 0,b = 0,c = 0,area;
TextField border a = new TextField(6) ;
TextField border b = new TextField(6) ;
TextField border c = new TextField(6) ;
Result = new TextField(24);
Button button = new Button("确定");
triangle ()

add(new Label("输入三边的长度"));
add (border_a);
add (border_b);
add (border_c);
add(new Label("面积是:"));
add (result);
add (button);
button,addActionListener (this);
result.setEnabled(false);

public void actionPerformed(ActionEvent e)

try

a = Double.parseDoubleborder_a.getText());
b = Double.parseDouble(border_b.getText());
c = Double.parseDouble(border_c.getText());
if(a+b>c&&a+c>b&&c+b>a)

double p = (a+b+c)/2;
area = Math.sqrt(p*(p-a)*(p-b)*(p-c));
result.setText(""+ area);

else

result.setText ("您输入的数字不能形成三角形");


catch(Exception ee)

result.setText ("请输入数字字符");



class Win ______ implements ActionListener

MenuBar bar = null;
Menu menu = null;
MenuItem item1,item2;
circle circle;
triangle trangle;
Win()

bar = new MenuBar(); menu = new Menu("选择");
setSize(300,200);
item1 = new MenuItem("圆面积计算");
item2 = new MenuItem("三角形面积计算");
menu.add(item1);
menu.add(item2);
bar.add(menu);
setMenuBar(bar);
circle = new circle();
trangle = new triangle();
item1.addActionListener(this);
item2.addActionListener(this);
setVisible(true);

public void actionPerformed(ActionEvent e)

if (e.getSource() == item1)

removeAll();
add(circle,"Center");
validate();

else
if(e.getSource() == item2)

removeAll ();
add (trangle,"Center");
validate ();


public class advance

public static void main (String args[])

Win win = new Win();
win.setTitle ("advance ");
win.setBounds (100,100,700,300);
win.setVisible (true);
win.addWindowListener (______)

public void windowClosing(WindowEvent e)

System.exit (0);

);

【参考答案】

circle()。
extends Frame。
new WindowAdapter()。
热门 试题

问答题
本题程序的功能是:单击窗口左上角的File菜单中的Open命令,打开一个GIF图像文件,并将图像文件显示在窗口中;单击File菜单中的Exit命令,能够退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; public class simple extends JFrame implements ActionListener public simple() setTitle ( ImageViewer ); setSize(300,400); JMenuBar mbar = new JMenuBar(); JMenu m = new JMenu( File ); openItem = new JMenuItem( Open ); openItem,addActionListener (this); m.add (openItem); exitItem = new JMenuItem( Exit ); exitItem.addActionListener(this); m.add(exitItem); mbar.add (m); setJMenuBar (mbar); label = new JLabel(); Container contentPane = getContentPane(); contentPane.add(label, Center ); public void actionPerformed(ActionEvent evt) Object source = evt.getSource(); if (source == openItem) JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File( . )); chooser.setFileFilter(new javax.swing.filechooser.FileFilter() public boolean accept(File f) return f.getName().toLowerCase().endsWith( .gif ); public String getDescription() return GIF Images ; ); int r = chooser.showOpenDialog(this); if(r == JFileChooser.APPROVE_OPTION) String name = chooser.getSelectedFile().getName(); label.setIcon(______); else if(source == exitItem) System.exit(0); public static void main(String[] args) JFrame frame = new simple(); ______; private JLabel label; private JMenuItem openItem; private JMenuItem exitItem;