⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cacuarea.java

📁 java练习程序
💻 JAVA
字号:
//下面的例子6是一个应用程序,用来计算常见的几何图形的面积。程序有二个窗口对象,
//该窗口有一个“选择”菜单,其中有3个菜单项。当我们选择某个选项时,窗口的中心就会出
//主现计算相应几何图形面积的用户界面,如图15.6所示。
import java.awt.*;
import java.awt.event.*;
public class CacuArea
{
	public static void main(String args[])
	{
		Area win=new Area();
		win.setBounds(100,100,200,100);
		win.setVisible(true);  
		win.pack();//用紧凑方式显示窗口。
		win.addWindowListener(new WindowAdapter() //适配器(见15.5节
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
	}
}

class Area extends Frame implements ActionListener
{ 
	MenuBar menubar1;         //声明1个菜单条对象
	Menu menu1;               // 声明1个菜单对象
	MenuItem  item1, item2, item3;
	TextField text[]=new TextField[4];
	Button buttonarr[]=new Button[3];
	double a=0, b=0, c=0;
	Area()
	{
		super( "常见面积计算");
		menubar1=new MenuBar();
		menu1=new Menu("选择");
		item1=new MenuItem("圆面积计算");item2=new MenuItem("椭圆面积计算");
		item3=new MenuItem("三角形面积计算");
		item1.addActionListener(this); //把窗口作为菜单项的监视器
		item2.addActionListener(this);   item3.addActionListener(this);
		menu1.add(item1);menu1.add(item2);menu1.add(item3);
		menubar1.add(menu1);setMenuBar(menubar1);
		for(int i=0;i<=3;i++)
		{
			text[i]=new TextField(8);
		}
		for(int i=0;i<=2;i++)
		{
			buttonarr[i]=new Button("确定");
			buttonarr[i].addActionListener(this);
		}
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==item1)         //负责打开计算圆的面积的界面
       		{
	        	removeAll();
        		for(int i=0;i<=3;i++)
        		{
	        		text[i].setText(null);
        		}
        		circle_area();
        	}
        	else if(e.getSource()==item2)  //负责打开计算椭圆面积的界面
        	{
	        	removeAll();
        		for(int i=0;i<=3;i++)
        		{
        			text[i].setText(null);  
	        	}
        		ellipse_area();
        	}
		else if(e.getSource()==item3)    //负责打开计算三角形面积的界面
	        {
        		removeAll();
        		for(int i=0;i<=3;i++)
	        	{
        			text[i].setText(null);  
        		}
	        	trangle_area();
        	}
        	else if(e.getSource()==buttonarr[0])//负责计算圆的面积
        	{
	        	a=Double.valueOf(text[0].getText()).doubleValue();
        		text[1].setText("   "+3.1415926*a*a);
        	}
        	else if(e.getSource()==buttonarr[1])//负责计算椭圆的面积
	        {
        		a=Double.valueOf(text[0].getText()).doubleValue();
        		b=Double.valueOf(text[1].getText()).doubleValue();
	        	text[2].setText("   "+3.1415926*a*b);
        	}
	        else if(e.getSource()==buttonarr[2])//负责计算三角形面积
        	{
        		a=Double.valueOf(text[0].getText()).doubleValue();
	        	b=Double.valueOf(text[1].getText()).doubleValue();
        		c=Double.valueOf(text[2].getText()).doubleValue();
        		double p=(a+b+c)/2;
        		text[3].setText("   "+Math.sqrt(p*(p-a)*(p-b)*(p-c)));
        	}
	}

	public void circle_area()
	{ 
		Panel p=new Panel(), p1=new Panel(), p2=new Panel();
		p.setLayout(new GridLayout(2, 1));
		p1.add(new Label("输入圆的半径: "));
		p1.add(text[0]);
		p1.add(buttonarr[0]);
		p2.add(new Label("面积:"));p2.add(text[1]);
		p.add(p1);p.add(p2);
		add(p, "Center"); this.pack();//用紧凑方式显示窗口
	}

	public void ellipse_area()
	{
		Panel p=new Panel(), p1=new Panel(), p2=new Panel();
		p.setLayout(new GridLayout(2, 1));
		p1.add(new Label("输入椭圆的长轴和短轴:"));
		p1.add(text[0]);p1.add(text[1]);
		p1.add(buttonarr[1]);
		p2.add(new Label("面积: "));p2.add(text[2]);
		p.add(p1);p.add(p2);
		add(p, "Center"); this.pack();//用紧凑方式显示窗口
	}

	public void trangle_area()
	{ 
		Panel p=new Panel(), p1=new Panel(), p2=new Panel();
		p.setLayout(new GridLayout(2, 1));
		p1.add(new Label("输入三个边的长度:"));
		p1.add(text[0]);p1.add(text[1]);p1.add(text[2]);
		p1.add(buttonarr[2]);
		p2.add(new Label("面积:"));p2.add(text[3]);
		p.add(p1);p.add(p2);
		add(p, "Center"); this.pack();//用紧凑方式显示窗口
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -