解决!如何用四色制作圈在Java

问题描述:

如何用四色制作圈在Java解决!如何用四色制作圈在Java

CIRCLE FILLED COLOR

我不知道这样的想法,坚持直到这一步我的方式。

import java.awt.*; 
    import java.awt.event.*; 
    import java.awt.geom.*; 

    public class CircleDraw extends Frame { 
     Shape circle = new Ellipse2D.Float(100.0f, 100.0f, 100.0f, 100.0f); 
     Shape square = new Rectangle2D.Double(100, 100,100, 100); 
     public void paint(Graphics g) { 
     Graphics2D ga = (Graphics2D)g; 
     ga.draw(circle); 
     ga.setPaint(Color.green); 
     ga.fill(circle); 
     ga.setPaint(Color.red); 
     ga.draw(square); 
     } 

     public static void main(String args[]) { 
     Frame frame = new CircleDraw(); 
     frame.addWindowListener(new WindowAdapter(){ 
     public void windowClosing(WindowEvent we){ 
     System.exit(0); 
     } 
     }); 
     frame.setSize(300, 250); 
     frame.setVisible(true); 
     } 
    } 

,如果你有,我会感谢

感谢

+0

[演出风俗绘画(https://docs.oracle.com/javase/tutorial/uiswing/painting/index.html)和[入门显卡(https://开头的文档。 oracle.com/javase/tutorial/2d/basic2d/index.html)将是我的主要建议 – MadProgrammer

+0

*“...这与Java Applet。*” - 'java.awt.Frame'不是一个小程序,但有说小程序已被弃用,您不应再使用它们。相反,从'JPanel'开始,重写它的'paintComponent'方法并在那里执行自定义绘画。当你准备好时,将它添加到一个'JFrame'中,以便它可以显示在屏幕上 – MadProgrammer

您可以使用java.awt.geom.Arc2D画圆

参见下面的代码片段的任何解决方案,

import java.awt.*; 
import java.awt.event.*; 
import java.awt.geom.*; 

public class CircleDraw extends Frame { 

    public void paint(Graphics g) { 
     Graphics2D ga = (Graphics2D) g; 

     ga.setPaint(Color.YELLOW); 
     Arc2D arc2D4 = new Arc2D.Double(100.0f, 100.0f, 100.0f, 100.0f, 90, 270, Arc2D.PIE); 
     ga.fill(arc2D4); 
     ga.draw(arc2D4); 

     ga.setPaint(Color.GREEN); 
     Arc2D arc2D1 = new Arc2D.Double(100.0f, 100.0f, 100.0f, 100.0f, 90, 90d, Arc2D.PIE); 
     ga.fill(arc2D1); 
     ga.draw(arc2D1); 

     ga.setPaint(Color.RED); 
     Arc2D arc2D2 = new Arc2D.Double(100.0f, 100.0f, 100.0f, 100.0f, 360, 90d, Arc2D.PIE); 
     ga.fill(arc2D2); 
     ga.draw(arc2D2); 

     ga.setPaint(Color.BLUE); 
     Arc2D arc2D3 = new Arc2D.Double(100.0f, 100.0f, 100.0f, 100.0f, 180, 90d, Arc2D.PIE); 
     ga.fill(arc2D3); 
     ga.draw(arc2D3); 

    } 

    public static void main(String args[]) { 
     Frame frame = new CircleDraw(); 
     frame.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent we) { 
       System.exit(0); 
      } 
     }); 
     frame.setSize(300, 250); 
     frame.setVisible(true); 
    } 
} 

输出将看起来像这样!

enter image description here

+0

hi @aKilleR我已经在Blue J中试过了你的代码,但是我显示了这样的错误: “java.lang.IllegalStateException:工具包未初始化“,请通知... –

+0

'java.lang.IllegalStateException:未初始化的工具包'是一个'JavaFX'相关的'异常'并且不涉及这个上下文,我不知道如何结束这个'Exception'在这方面 – aKilleR

+0

upss对不起我的坏,只是失去了一些配置。 : 和你的代码运行如此Badass :) 我会Upvote这个答案。 –