Java 两个圆及其距离

Java 两个圆及其距离,java,graphics,Java,Graphics,我今天的作业很麻烦。练习内容如下: (两个圆及其距离)编写一个程序,绘制两个半径15像素的圆,以任意位置为中心,并用一条线连接两个圆。两个中心之间的距离显示在直线上。无论何时调整帧的大小,圆都会在新的随机位置重新显示 好的,我现在的代码是: import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class Exercise13_29 extends JFrame { pu

我今天的作业很麻烦。练习内容如下:

(两个圆及其距离)编写一个程序,绘制两个半径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或者其他更合适的方法。 我似乎也无法找出在调整帧大小时,使用什么代码使圆圈随机出现


请帮帮我。

有几个小问题需要你先解决

  • 获得一个随机位置
  • 求两点之间的距离
  • 以点为中心绘制圆应该会有所帮助
  • 在两点之间画一条线

  • 单独解决每个问题后,将它们放在一起应该不会太困难。

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

    向我们展示您的尝试。我相信当调整窗口大小时,窗口会自动重新绘制。@MRJones,问题是程序需要通过重新绘制圆圈来响应窗口的大小调整。@Khilmarsen根据您提供的信息,我只能假设您所指的响应是在随机位置绘制圆圈。如果这是正确的,那么将其分解。。。由于每次调整窗口大小时都会重新绘制窗口,这意味着每次调整窗口大小时都会调用
    paint
    ,而
    paint
    最终会调用
    paintComponent
    方法。因此,
    paintComponent
    将是您用于更新圆坐标的逻辑所在。谢谢,我将阅读并编辑此问题。无论如何,在调整大小时将调用paint,因此这是不必要的。我相信他们增加这个要求是为了让问题变得更容易,而不是更难。同意,但没有注意到他在用PaintComponent做这件事。