-3

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

(两个圆和它们的距离)编写一个程序,画出两个半径为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 或者其他东西是否更合适。我似乎也无法找出在调整框架大小时使用什么代码使圆圈随机出现。

请帮帮我。

4

2 回答 2

1

您需要先解决几个较小的问题。

  1. 获得一个随机位置。如何在 Java 中生成特定范围内的随机整数?
  2. 求两点之间的距离。计算两点之间的距离
  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)

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

于 2013-11-11T21:06:25.713 回答
0

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

于 2013-11-11T21:07:57.203 回答