A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zl918 黑马帝   /  2012-1-7 23:37  /  2910 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zl918 于 2012-1-9 12:47 编辑
  1. import java.awt.*;
  2. import javax.swing.*;
  3. import java.io.*;
  4. public class MyFrame {
  5.         public static void main(String[] args)
  6.         {
  7.                 JFrame frame=new JFrame("MyFrame");                 //窗口框架
  8.                 frame.setSize(800,300);            
  9.                 frame.getContentPane().setBackground(Color.RED);    //背景
  10.                 frame.setVisible(true);                             //窗口可见
  11.                
  12.                 JPanel contentPane=new JPanel();            //添加JPanel
  13.                 contentPane.setSize(100,100);
  14.                 contentPane.setBackground(Color.yellow);
  15.                 frame.add(contentPane);
  16.                
  17.                
  18.                 BufferedReader intemp=new BufferedReader(new InputStreamReader(System.in));
  19.                 System.out.println("Press return key to exit!");
  20.                 try
  21.                 {
  22.                         String s=intemp.readLine();
  23.                 }catch(IOException e)
  24.                 {
  25.                         System.out.println("IOException");
  26.                 }
  27.                 System.exit(0);
  28.         }

  29. }
复制代码

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

3 个回复

正序浏览
你不设置布局,他会默认是边框布局,而且是在center这一块,你其他的位置没有放东西,所以看起来会被覆盖!

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
admin + 1
zl918 + 1

查看全部评分

回复 使用道具 举报
contentPane 的布局默认是麻将布局(东西南北中的那种),你没有设定它的布局(Layout)方式,它就默认是东西南北中五块划分整个Frame的。而其中没有设定元件位置(东西南北中)的话,就默认只在中间,而且不论你设定多大,都覆盖整个Frame,而且不论你设定多少个元件,都必定互相覆盖,只能显示一个。(何况你连一个元件都没设。。。。O__O"…)
另外,作为一个初学者一定要养成好习惯,setVisiable这么重要而且麻烦的东西,一定要放在最最最最后面。要么然干脆放在调用的方法里

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
admin + 1
zl918 + 2

查看全部评分

回复 使用道具 举报
因为窗体的默认布局为BorderLayout(就是东西南北中)的方式,而你添加了一个JPanel,默认就放到了窗体的中间,而且只有他一个JPanel所以就覆盖了窗体。
窗体上是不可以放东西的,只有在JPanel上才可以放。以上是我的理解,如有错误请大家指正!

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
admin + 1
zl918 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马