日期:2014-05-20  浏览次数:20783 次

java 简单图形界面 为什么被覆盖
package demon007;

import java.awt.Color;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyFrame {
public static void main(String[] args){
JFrame frame=new JFrame("My Frame");  //创建一个JFrame的实例
frame.setSize(280, 300);   //设置JFrame的大小
frame.getContentPane().setBackground(Color.RED); //设置JFrame的背景色
frame.setVisible(true);  //显示JFrame

JPanel panel=new JPanel();
panel.setSize(10, 10);
panel.setBackground(Color.yellow);

frame.add(panel);


BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Press any key to exit.");

try {
String s=in.readLine();   //等待用户的输入一关闭窗口
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
System.exit(0);  //强行关闭并退出
}

}
}

------解决方案--------------------
你可以给frame设置下布局再试试
------解决方案--------------------
还有就是直接把panel的设置为透明的panel.setOpaque(false);
------解决方案--------------------
还有就是去掉画面的默认布局
import java.awt.Color;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("My Frame"); // 创建一个JFrame的实例
frame.setSize(280, 300); // 设置JFrame的大小
frame.getContentPane().setBackground(Color.RED); // 设置JFrame的背景色
frame.setVisible(true); // 显示JFrame
frame.setLayout(null);
JPanel panel = new JPanel();
panel.setSize(10, 10);
panel.setBackground(Color.yellow);

frame.add(panel);
// panel.setOpaque(false);

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Press any key to exit.");

try {
String s = in.readLine(); // 等待用户的输入一关闭窗口
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.exit(0); // 强行关闭并退出
}

}
}
也可以
------解决方案--------------------
引用:
还有就是去掉画面的默认布局
import java.awt.Color;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("My Frame"); // 创建一个JFrame的实例
frame.setSize(280, 300); // 设置JFrame的大小
frame.getContentPane().setBackground(Color.RED); // 设置JFrame的背景色
frame.setVisible(true); // 显示JFrame
frame.setLayout(null);
JPanel panel = new JPanel();
panel.setSize(10, 10);
panel.setBackground(Color.yellow);

frame.add(panel);
// panel.setOpaque(false);

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Press any key to exit.");

try {
String s = in.readLine(); // 等待用户的输入一关闭窗口
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.exit(0); // 强行关闭并退出
}

}
}
也可以


+1