drawString在我当前窗口的屏幕截图上打印字符串

时间:2014-01-15 19:25:22

标签: java swing jframe paint

当我在Eclipse中运行此代码时,我在新窗口中得到一个字符串和行打印,但它不是一个空白窗口,它只是我当前窗口的屏幕截图,设置为我声明的大小。

http://i.imgur.com/nWFN9YJ.png

有关我做错的任何建议吗?

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


public class EmptyFrame2 extends JFrame
{

public static void main(String args[])
{
    EmptyFrame2 JF=new EmptyFrame2();
    JF.setSize(1000,500);
    JF.setVisible(true);
}
public void paint(Graphics g)
{
    g.drawString("Hello",50,50);
    //g.drawLine(50-2, 50+2, 50+70, 50+2);
}

如果这太模糊,请告诉我,我会更改它或添加您需要的任何其他内容。

2 个答案:

答案 0 :(得分:3)

  • 避免覆盖paint顶级组件
  • 避免破坏油漆链,超级联系super.paintXxx
  • 覆盖paintComponent之类的JPanel而不是

请参阅Performing Custom Painting

答案 1 :(得分:1)

尝试将super.paint(g)添加到您的paint()方法。