Eclipse不显示输出

时间:2018-01-14 10:57:51

标签: java eclipse eclipse-oxygen

我在Eclipse Oxygen上进行2D绘图,我的代码中没有错误,但为什么它没有显示任何输出。我的意思是当我点击运行时没有进展。

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics2D;
import java.awt.geom.Arc2D;
import java.awt.geom.Rectangle2D;

public class HOUSE1 extends Frame {
    public void paint(Graphics2D g) {
        Graphics2D g2d = (Graphics2D) g;

        g2d.drawString("HOME SWEET HOME",80,60);
        setBackground(Color.white);

        Arc2D arc1 = new Arc2D.Double(250,50,500,300,225,90,Arc2D.Double.PIE);
        g2d.draw(arc1);
        g2d.setColor(Color.red);
        g2d.fill(arc1);

        Rectangle2D rect = new Rectangle2D.Double(325,300,350,300);
        g2d.draw(rect);
        g2d.setColor(Color.blue);
        g2d.fill(rect);

        Rectangle2D rect1 = new Rectangle2D.Double(325,300,350,300);
        g2d.draw(rect1);
        g2d.setColor(Color.black);
        g2d.fill(rect1);            
    }

    public static void main(String[]args){
        HOUSE1 f = new HOUSE1();
        f.setTitle("HOUSE");
        f.setSize(300,100);         
    }

}

3 个答案:

答案 0 :(得分:0)

你忘了让你的画面可见。

只需添加:

f.setVisible(true);

您必须将paint方法声明修复为:

@override
public void paint(Graphics g) {
    // your code
}

答案 1 :(得分:0)

您的窗口为空,因为您的paint方法永远不会被调用。你的方法

public void paint(Graphics2D g)    // DOESN'T WORK

需要更改为

public void paint(Graphics g)    // Correct

以便覆盖 paint中的Frame方法。图形系统只会调用paint(Graphics);如果您的paint方法未覆盖paint(Graphics)中的方法FrameFrame中的方法将被调用而不是您的方法。

答案 2 :(得分:0)

1st:在你的主要空白中你需要将你的框架(f)设置为可见 - > f.setVisible(真)

第二:你也许想要f.pack();在您将其设置为可见之前,以确保您的组件表现得像预期的那样。

3:在java中,我们在课堂上使用大写第一个字母,如#34; House",完整的大写字母用于最后的字母。