| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:[求助]紧急求救
取消只看楼主 加入收藏
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
 问题点数:0 回复次数:2 
[求助]紧急求救
刚开始看swing,这是我看完书以后的一个实验:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Tes extends JFrame{
 JButton jb;
 JTextArea ja;
 //(1)JDialog jd;
 Tes(){
  super("pk");
  Container c=this.getContentPane();
  jb=new JButton("a");
  ja=new JTextArea(10,10);
 //  (2)jd=new JDialog(this,"b");
 //(4) jd.setVisible(true);
  c.add(jb,BorderLayout.NORTH);
  c.add(ja,BorderLayout.EAST);
  //(3)c.add(jd,BorderLayout.WEST);
  setVisible(true);
     addWindowListener(new WindowAdapter(){
   public void windowClosing(WindowEvent e){
    System.exit(0);
   }
  });
 }
 public static void main(String arg[]){
  Tes t=new Tes();
  t.pack();
 }
}
这样运行没有问题,但当我把(1)(2)(3)语句添加上的时候,窗口出不来,会在命令提示符下出现:
Exception in thread "main"java.lang.IllegalArgumentException:adding
a window to a container.........
进一步,如果我把(4)加上去的话,JFrame还是出不来,JDialog确出来了,但上面那句报错却依然存在.
各位前辈请指点一下吧~~拜托.
搜索更多相关主题的帖子: import add awt Tes 
2005-10-06 19:41
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
得分:0 
刚才看下书,明白了,好象是因为容器中不能既有轻组件又有重组件的缘故.
是这样吗?
怎么解决呢?
kai斑竹不要看见了不管哦~

2005-10-06 20:44
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
得分:0 
感谢kai斑竹的帮忙,我刚才实验了下您的代码,然后把无关紧要的去掉,直到和我原来的代码差不多,竟然发现能正常运行.
后来仔细一看才知道我那代码罪魁祸首是"c.add(jd,BorderLayout.WEST);",真是晕到家了
怪我习惯性的添上去了.
但还有个问题就是我上面那段解释是,书上那段话是对还是错呢?JFrame是窗体,JDialog是重组件,JButton和JTextArea是轻组件,书上说尽量不要把轻重都放在一个窗体里,而且书上的例子遇到放一起也都放在JApplet里.
起码看起来这段代码的错原因不是这个了.

2005-10-06 23:19
快速回复:[求助]紧急求救
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017638 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved