java编写一个计算图形面积的程序_"绘制平面图形并计算周长和面积",程序有点小问题,求高手指点...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class PCJFrame extends JFrame implements ActionListener

{

private JRadioButton radio_Rec,radio_Ell;

private JButton button_paint;

private JTextField text_perimeter,text_area;

public JTextField text_length,text_width;

public int l,w;

private RectangleCanvas Rectangle;

private EllipseCanvas Ellipse;

public PCJFrame()

{

super("绘制平面图形并计算周长和面积");

this.setSize(600,300);

this.setLocation(200,100);

this.setBackground(Color.white);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

JPanel panel1=new JPanel(new FlowLayout(1));

this.getContentPane().add(panel1,"North");

ButtonGroup bgroup=new ButtonGroup();

radio_Rec=new JRadioButton("矩形",true);

panel1.add(radio_Rec);

bgroup.add(radio_Rec);

radio_Ell=new JRadioButton("椭圆",true);

panel1.add(radio_Ell);

bgroup.add(radio_Ell);

panel1.add(new Label("长度"));

text_length=new JTextField(10);

panel1.add(text_length);

panel1.add(new Label("宽度"));

text_width=new JTextField(10);

panel1.add(text_width);

button_paint=new JButton("绘图");

button_paint.addActionListener(this);

panel1.add(button_paint);

JPanel panel2=new JPanel(new FlowLayout(1));

this.getContentPane().add(panel2,"South");

text_perimeter=new JTextField(20);

panel2.add(new Label("周长"));

panel2.add(text_perimeter);

text_area=new JTextField(20);

panel2.add(new Label("面积"));

panel2.add(text_area);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

double length=Double.parseDouble(text_length.getText());

double width=Double.parseDouble(text_width.getText());

l=(int)length;

w=(int)width;

Rectangle=new RectangleCanvas(l,w);

Ellipse=new EllipseCanvas(l,w);

if(length>0&&width>0)

{

if(e.getSource()==button_paint)

{

if(radio_Rec.isSelected())

{

double perimeter=(width+length)*2;

double area=length*width;

text_perimeter.setText(""+perimeter);

text_area.setText(""+area);

this.getContentPane().add(Rectangle,"Center");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值