0

我感谢我收到的关于上一个问题的建议。我还有一个问题。我想画一张脸,一张粉红色的圆脸。在那张粉红色的圆脸上,我想添加一个红色的微笑。我想用 JSlider 拉长或缩短那个微笑。我之前的问题涉及将圆 A 的中心与圆 B 对齐,并使用 JSlider 以使圆 A 和 B 的中心始终重合的方式增加或减小圆 B 的半径。我明白我得到的答案。但是我如何在脸上(即椭圆形)上修复微笑(即弧形),以便 JSlider 拉长或缩短微笑但不会在脸上移动那个微笑。换句话说,笑容必须固定在脸上。拜托,我需要建议。我的(错误)代码是:

    public void createGUI() {
    slider1Label = new JLabel("Mouth width(10-100): ");
    window.add(slider1Label);

    slider1 = new JSlider(JSlider.HORIZONTAL,10,100,10);
    window.add(slider1);
    slider1.addChangeListener(this);
    }

    public void stateChanged(ChangeEvent e) {

    Graphics paper = panel.getGraphics();
    int slider1Value = slider1.getValue();
    paper.setColor(Color.white);
    paper.fillRect(0, 0, 500, 500);


    paper.setColor(Color.pink); // draw the pink interior of the face
    paper.fillOval(50,50,200,200);
    paper.setColor(Color.black); // draw the black exterior border of the face
    paper.drawOval(50,50,200,200);


    paper.setColor(Color.red); // draw the red mouth
    paper.fillArc(90,140,220-slider1Value,150-slider1Value,20,-220);
    }
4

0 回答 0