有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我试图用多条水平线和垂直线画一个圆,结果遇到了一个路障。我该怎么跑

我正在尝试创建一个java项目,我在上面画一个圆,然后在上面画线。我以前经常写java,但已经有一段时间了。 我的主要文件是

-----------------
FirstProject.java
-----------------

    package first.project;

    import java.awt.Graphics;

    public class FirstProject {

        public static void main(String[] args) {
            //
            d = new JP(100, 100, 100, 100);
        }
    }

JP。爪哇


    package first.project;

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

    public class JP extends JPanel {

        public void JP(Graphics g, int x, int y, int a, int b) {
            g.drawOval(x, y, a, b);
            JFrame frame = new JFrame("java tutorial");
            frame.getContentPane().add(new JP());
            frame.setSize(300, 300);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setResizable(false);

        }
    }

共 (2) 个答案

  1. # 1 楼答案

    这会让你记忆犹新:

    import java.awt.Graphics;
    
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    
    public class JP extends JComponent {
    
        public static void main(String[] args) {
            JFrame frame = new JFrame("java tutorial");
            frame.setSize(300, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setResizable(false);
    
            frame.getContentPane().add(new JP(100, 100, 100, 100));
    
            frame.setVisible(true);
        }
    
        public JP(int x, int y, int width, int height) {
            this.x = x;
            this.y = y;
            this.width = width;
            this.height = height;
        }
    
        private int x;
        private int y;
        private int width;
        private int height;
    
        @Override
        public void paint(Graphics g) {
            g.drawOval(x, y, width, height);
            g.drawLine(x + height / 2, y, x + height / 2, y + width);
            g.drawLine(x, y + width / 2, x + height, y + width / 2);
        }
    
    }
    
  2. # 2 楼答案

    你有一个名为JP的类。这个类将5个值作为参数

    public void JP(Graphics g, int x, int y, int a, int b)
    

    但是当你生成一个对象时,你只给它4个参数

    d = new JP(100, 100, 100, 100);
    

    但是,当您从主类中的JP类生成一个对象时,需要给它一些参数。从父类创建JP对象时,请添加第一个Graphics参数

    new JP(Graphics g, 100, 100, 100, 100);
    

    我希望这个答案能对你有所帮助