Java Frame显示我的屏幕

时间:2017-12-18 16:30:29

标签: java swing graphics

我开始学习如何用Java制作图形。但是,如果我在我的框架中绘制一些内容并运行该程序。框架中我没有绘制任何东西的那些部分是框架在我的程序后面运行的图片。我可以避免这个吗?

package de.sarah;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;

public class Framemg extends JFrame{

public Framemg() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setTitle("Zeichnen mit Java");
    setSize(400, 300);
    setBackground(Color.yellow);
    setVisible(true);
}
public void paint(Graphics g) {
     g.drawString( "Hellooo", 120, 60 );
}
}

package de.sarah;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Insets;

public class Main{

public static void main(String[] args) {
    Framemg Frame = new Framemg();
  }

}

1 个答案:

答案 0 :(得分:1)

不要覆盖JFrame的paint()。

自定义绘画是通过覆盖JPanel的paintComponent(...)方法完成的。然后将面板添加到框架中。

阅读Custom Painting上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。