java:为什么我的Jframe出来的窗口是透明的?????

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:39:31
import java.awt.*;
import javax.swing.*;

public class Target{
public static void main(String[] args) {
Myframe frame = new Myframe();
frame.setSize (600,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}

class Myframe extends JFrame{
public void paint(Graphics g){
g.setColor(Color.red);
g.fillOval(300-72,200-72,72*2,72*2);
g.setColor(Color.white);
g.fillOval(300-47,200-47,47*2,47*2);
g.setColor(Color.red);
g.fillOval(300-22,200-22,22*2,22*2);
}
}

只要里面有了paint()出来的就是透明的
为什么运行时候出来的窗口是透明的?
怎么样才能让它不透明?

不应该在JFrame中使用paint()方法
应该是在面板panel中paint 然后加入JFrame中。

frame.setVisible(true); 把这个改成false看看

改成false是不行的
出来的估计不是透明 而是你看不见 应该是你的那个方法里面的那些数值设置有问题