【问题标题】:drawString prints string over a screenshot of my current windowdrawString 在我当前窗口的屏幕截图上打印字符串
【发布时间】:2014-01-15 19:25:22
【问题描述】:

当我在 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);
}

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

【问题讨论】:

  • EmptyFrame2 类中还有其他内容吗?

标签: java swing jframe paint


【解决方案1】:
  • 避免覆盖顶级组件的paint
  • 避免打断油漆链,让超级你打电话super.paintXxx
  • 改用 JPanel 之类的 paintComponent

Performing Custom Painting

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多