我无法完成一项相当简单的任务,即获取圆的直径然后绘制它。到目前为止,这是我的代码。
import javax.swing.*;
import java.awt.Graphics;
public class Shapes extends JFrame
{
double diameter;
public Shapes()
{
setSize(600,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void getDiameter()
{
String input = JOptionPane.showInputDialog("What is the diameter of the circle?");
diameter = Double.parseDouble(input);
Shapes gui = new Shapes();
gui.setVisible(true);
}
public static void main(String[] args)
{
Shapes app = new Shapes();
app.getDiameter();
}
public void paint(Graphics canvas)
{
canvas.drawOval(50, 50, (int)diameter, (int)diameter);
}
}
当我运行它时,它会打开 Jframe 窗口,但没有绘制任何内容,所以我猜测直径的值永远不会传递给 paint 方法。有人可以帮我解决这个问题吗?谢谢。