java程序设计题目

用户在文本框输入圆的半径,然后随机产生一个坐标位置,在屏幕上画圆,通过其他组件(如:JTextArea)输出圆的直径、周长和面积。另外提供一个按钮,可以清除屏幕,重新画圆。

请网络高手帮忙解决,小弟在此感谢!!!

内容要求:有程序源代码,还有运行时的程序截图

题目是java简明教程(第2版)最后的习题,(书的作者是张凤林和皮德常),有答案的或知道答案地址的麻烦你们帮忙告诉我,在此感谢!!!

谢谢……
你好,谢谢你的帮忙,能麻烦你帮我再写一个吗?写完加分!题目在问题补充中…谢谢
编写程序,在用户单击鼠标的位置输出一个颜色、大小随机变化的园,若用户单击多次,那么要输出多个圆。

我按照你的要求谢了一个程序,做了注释,你可以看一下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;

public class Circle extends JFrame implements ActionListener{
JLabel jl1 = new JLabel("关于圆的信息:");
JLabel jl2 = new JLabel("请输入圆的半径:");
JTextField jtf = new JTextField(12);
JTextArea jta = new JTextArea(3,30);
JButton jb1 = new JButton("确定");
JButton jb2 = new JButton("清除");
int cir;
//构造函数
public Circle(){
super("画圆");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//点击GUI的叉可以退出
setSize(550, 700);//设置面板大小
setVisible(true);//设置面板内容可见
//添加组件到面板中
Container contentPane = getContentPane();
JPanel jp0 = new JPanel();
JPanel jp1 = new JPanel();
jp0.add(jl1);jp0.add(jta);
CirclePanel cp = new CirclePanel();
jp1.add(jl2);jp1.add(jtf);jp1.add(jb1);jp1.add(jb2);
//为确定、清除按钮设置监听器
jb1.addActionListener(this);
jb1.setActionCommand("ok");
jb2.addActionListener(this);
jb2.setActionCommand("clean");
//将面板放到容器的合适位置
contentPane.add(jp0,BorderLayout.NORTH);
contentPane.add(cp,BorderLayout.CENTER);
contentPane.add(jp1,BorderLayout.SOUTH);
}
//确定、清除按钮的事件响应处理
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("ok")){//以输入的整数为半径画圆
cir = Integer.parseInt(jtf.getText());//获取输入的半径
jta.setText("直径:"+2*cir+" 周长:"+2*3.14*cir+" 面积:"+3.14*cir*cir);//设置显示的圆的信息在面板上方
jtf.setText("");//清空半径输入框的内容
repaint();//画圆
this.setVisible(true);//设置GUI为可见
}
if(e.getActionCommand().equals("clean")){//清除面板上的圆
cir = 0;
jta.setText("");
jtf.setText("");
repaint();
}
}
//画圆
public class CirclePanel extends JPanel{
public void paint(Graphics g) {
Random r =new Random();
int x = r.nextInt(20)+5;//随机生成5---25之间的整数作为圆心x坐标
int y = r.nextInt(20)+5;//随机生成5---25之间的整数作为圆心y坐标
System.out.println("x:"+x);
System.out.println("y:"+y);
g.setColor(Color.BLACK);//设置画出来的圆的颜色
g.drawOval(x, y, cir, cir);//画圆
}
}
//测试
public static void main(String[] args) {
new Circle();
}

}
温馨提示:答案为网友推荐,仅供参考
相似回答