网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.重载与覆盖.
.简单的struts应用开发(4).
.JDBC中的中文处理.
.技术分享 使用XML-RPC来访问Web服.
.struts源代码阅读(Commons-Bean.
.JavaBean与EJB的不同.
.技巧-优化Derby数据库.
.JFC/Swing活学活用之创建自定义图.
.Java多线程同步设计中使用Metux.
.利用Java三步实现Cool Button.
.值得思考的 J2EE 架构的6个最佳实.
.Java应用的动态扩展.
.部署cas服务器实现定制JDBC验证.
.用java压缩文件示例(没有中文问.
.使用XML小服务程序配置文件配置小.
.回击Ruby, Groovy on&.
.混合Eclipse、WTP、Struts和Hibe.
.重新温习数组.
.我的RMI实践.
.java的io简单应用 选择自 Fr.

[JAVA]Panel 嵌入ScrollPane

发表日期:2008-1-5


  
不     为了将很多component放到一个带滚动条的窗口里,折腾了一天,有点无聊,不过动手能力但愿应该也在处理这种繁琐的细节问题中增强了:)
     ScrollPane中只能放入一个组件,它的setLayout()方法也是虚设,一用就出错。假如要让很多组件(component)放到带滚动条窗口中就只能将这些组件先放到一个Panel中,再把Panel嵌入ScrollPane,这里又有一个问题,假如Panel的Layout设为null那么滚动条将不会有用。我就是因为panel.setLayout(null)了而折腾了一天。最后我用setLayout(new GridLayout())才解决这个问题。以下是将Panel嵌入ScrollPane的代码(从我的程序里直接copy的基本没做修改):
    
   //这里初始化了四个组件数组 
   checkBox = new Checkbox[numOfItems];
    keyField = new JTextField[numOfItems];
    chField = new JTextField[numOfItems];
    enField = new JTextField[numOfItems];
    
    ScrollPane scrp = new ScrollPane();
    Panel panel = new Panel(new GridLayout(numOfItems,1));//将panel的Layout设为numOfItems行,每行1列。
       
    for(int i = 0;i < numOfItems;i++)
    {
     checkBox[i] = new Checkbox();
     keyField[i] = new JTextField(30);
     chField[i] = new JTextField(sp[i].str,30);
     enField[i] = new JTextField(30);
     
     Panel pnl = new Panel(new FlowLayout(FlowLayout.LEFT));
     pnl.add(checkBox[i]);
     pnl.add(keyField[i]);
     pnl.add(chField[i]);
     pnl.add(enField[i]);//将每一行的组件放入一个子panel中
     panel.add(pnl);//将子panel放入panel中
    }
    
    scrp.add(panel);//将panel嵌入ScrollPane
    myContainer.add(scrp);
    scrp.reshape(10,70,950,600);
    别看这个问题很小,却费了我一天工夫。写在这里但愿有用,也许哪天哪位兄弟姐妹会碰到和我同样的问题。还有Java里面layout的问题很麻烦,不过懒得研究了,我对这个不是很感爱好,只要解决了当前的问题就OK了.
上一篇:[JAVA]变量作用域的问题 人气:822
下一篇:[j2se]利用JAVA获得IP地址的法子 人气:514
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐