Java Swing---运行程序时不显示任何内容
我是Java Swing的新手。我正在画一些形状 但是当我运行以下代码时,我根本看不到图形。 我不明白为什么,有人能帮我吗?非常感谢Java Swing---运行程序时不显示任何内容,java,swing,Java,Swing,我是Java Swing的新手。我正在画一些形状 但是当我运行以下代码时,我根本看不到图形。 我不明白为什么,有人能帮我吗?非常感谢 import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class Draw { public static void main(String[] args) { EventQueue.invokeLater(new Runnable()
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class Draw
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
DrawFrame frame = new DrawFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class DrawFrame extends JFrame
{
public static final int DEFAULT_WIDTH = 400;
public static final int DEFAULT_HEIGHT = 400;
public DrawFrame()
{
setTitle("DrawTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
DrawComponent component = new DrawComponent();
add(component);
}
}
class DrawComponent extends JComponent
{
public void painComponent(Graphics g)
{
Graphics2D g2= (Graphics2D) g;
Rectangle2D rec = new Rectangle2D.Double(100, 100, 200, 150);
g2.draw(rec);
Ellipse2D ellipse = new Ellipse2D.Double();
ellipse.setFrame(rec);
g2.draw(ellipse);
}
}
在提供的代码中,
paintComponent
方法的名称有错误:
public void painComponent(Graphics g)
所以它实际上并没有覆盖超类中的方法。您可以添加@Override注释,以便在方法实际上未重写任何内容时编译器将给出错误,例如:
@Override
public void painComponent(Graphics g)
painComponent
是打字错误,还是这是您的实际代码?应该是paintComponent
@Ash我太粗心了!知道了!非常感谢!只是作为回答补充的