当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 记得Delphi里面有一个TCheckListBox控件,是一个可打勾的列表。
 

 

    摘要:1、 安装tomcat 在安装了jdk后,参考tomcat for window 的安装向导,基本直接安装即可,注意:安装时会提示输入管理用户名和密码,这是以后会用到的用户名和密码,切记。 2、 安装mysql 默认安装即可。 3、 使用tomcat的web管理应用配置数据源 启动tomcat服务器,打开浏览器,输入http://localhost:8080/admin/(其中loca......
 ·域名查询系统--适合新手    »显示摘要«
    摘要:<%on error resume nextserver.scripttimeout=9999999function gethttppage(path) t = getbody(path) gethttppage=bytestobstr(t,"gb2312")end function function getbody(url) on error resume next ......


Swing探索:编写一个JCheckListBox组件
记得delphi里面有一个tchecklistbox控件,是一个可打勾的列表.现在我们也做一个,就叫jchecklistbox吧.

·         继承:当然是从swing的jlist继承. 【程序编程相关:H-DTO模式(之二)

写代码之前,先考虑以下问题: 【推荐阅读: 软件工程过程规范(裁剪的RUP)第二部

·         渲染器:默认的renderer肯定是不行了,无法显示打勾.自然想到用jcheckbox来重新做一个渲染器,设置到jchecklistbox中. 【扩展信息:〔管理服务器〕的登录账号和OEMREP数

·         数据扩充:对于jlist来说,它是显示了一系列object.无论其类型如何,都用一个默认的渲染器(defaultlistcellrenderer,从jlabel继承而来)来画,每个条目的文字用object.tostring()来设置.但是对于jchecklistbox来说,除了显示文本外,还要考虑每个条目是否被选中,如果选中,要显示“打勾”.所以,jlist需要维护“每一个条目是否选中”的状态信息.我们放在一个boolean数组中.

·         鼠标监听器:现在可以画每个条目了,但还不够,必须能响应鼠标的点击以便check/uncheck才行.所以要在jchecklistbox上加一个鼠标监听器来响应鼠标事件.当然,如果你想让它相应键盘输入(例如ctrl+a全选)也可如法炮制.

·         checklistboxmodel:为了操作方便,这里还从abstractlistmodel扩充一个checklistboxmodel,它能在条目check变化时发送事件.

 

好了,由于代码与原理都比较简单,不再赘述,直接给出代码,以及简单注释:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

 

public class jchecklistbox extends jlist {

    //这个boolean数组装载所有item是否被check的信息.

    private boolean[] checkeditems = null;

 

    /**

     * 定义一个简单的listmodel,它可以发送check变化事件.

     */

    class checklistboxmodel extends abstractlistmodel {

        private object[] items = null;

 

        checklistboxmodel(object[] items) {

            this.items = items;

        }

 


...   下一页
 ·php的安装    »显示摘要«
    摘要:1. gzip -d httpd-2_0_nn.tar.gz 2. tar xvf httpd-2_0_nn.tar 3. gunzip php-nn.tar.gz 4. tar -xvf php-nn.tar 5. cd httpd-2_0_nn 6. ./configure --enable-so 7. make 8. make install 现在您已经将 apache......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE