两个圆圈和它们的距离

时间:2013-11-11 20:56:29

标签: java graphics

这天我的作业很麻烦。下面是练习文本:

  

(两个圆圈及其距离)编写一个程序,绘制半径 15 像素的两个圆形圆,以随机位置为中心,并用一条连接两个圆的线。两个中心之间的距离显示在该行上。每当您调整框架大小时,圆圈都会在新的随机位置重新显示。

好的,所以我现在的代码是:

import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

 public class Exercise13_29 extends JFrame {

public Exercise13_29() {

}

public static void main(String[] args) {
    Exercise13_29 frame = new Exercise13_29();
    frame.setSize(200, 200);
    frame.setTitle("Exercise13_29");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
}

class Circles extends JPanel {

}

protected void paintComponent(Graphics g) {
    super.paintComponent(g);
 }
}

我知道这根本不多,但我真的被困在这里。 我甚至不知道我是否应该使用drawOval或者其他更合适的东西。 我也似乎无法找出在调整帧大小时使用什么代码使圆圈随机出现。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

首先需要解决几个小问题。

  1. 获得随机位置。 How do I generate random integers within a specific range in Java?
  2. 找到2点之间的距离。 Calculating the distance between two points
  3. 以点http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#drawOval(int,%20int,%20int,%20int)为中心绘制圆圈应该有帮助
  4. 在2分http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html#drawLine(int,%20int,%20int,%20int)
  5. 之间划一条线

    在你单独解决了这些问题之后,把它们放在一起应该不会太困难。

答案 1 :(得分:0)

要重新定位窗口大小调整,请在帧上的resize事件上添加事件侦听器。