1

円の直径を取り込んでそれを描くというかなり単純な作業を行うのに問題があります。これまでの私のコードは次のとおりです。

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 ウィンドウが表示されますが、何も描画されないため、直径の値がペイント メソッドに渡されることはないと思います。誰かがこれを機能させるのを手伝ってくれますか? ありがとう。

4

1 に答える 1