已有101人关注
(Java开发典型模块大全)P33
发表在Java图书答疑 2010-07-09
是否精华
版块置顶:
在本书的P33有这样一个方法
 public static void set(JComponent comp, Vector photoV) {
        StringBuffer toolTip = new StringBuffer();// 创建工具提示对象

        toolTip.append("<html>");// 添加HTML标签头

        toolTip.append(TITLE);// 添加标题标签

        toolTip.append(photoV.get(3));// 添加标题内容

        toolTip.append(DATE);// 添加日期标签

        toolTip.append(photoV.get(2));// 添加日期内容

        toolTip.append(NOTE);// 添加描述标签

        String note = photoV.get(4).toString();// 获得描述内容

        StringBuffer rowBuf = new StringBuffer();// 创建工具提示行对象

        int rowBytes = 0;// 行字节数

        String c = "";// 字符

        for (int i = 0; i < note.length(); i++) {
            c = note.substring(i, i + 1);// 获得字符

            rowBuf.append(c);// 添加到工具提示行

            rowBytes += (c.getBytes()[0] > 0 ? 1 : 2);// 计算行字节数

            if (rowBytes > 18) {// 如果行字节数大于18

                toolTip.append(rowBuf.toString());// 添加工具提示行到工具提示

                toolTip.append(SPACE);// 添加回行空格

                rowBuf = new StringBuffer();// 重建工具提示行对象

                rowBytes = 0;// 恢复行字节数

            }
        }
        if (rowBytes == 0) {
            if (note.length() != 0) {
                int length = toolTip.length();
                toolTip.delete(length - SPACE.length(), length);// 移除最后添加的回行空格

            }
        } else {// 最后一行工具提示尚未添加

            toolTip.append(rowBuf.toString());// 添加工具提示行到工具提示

        }
        toolTip.append("</html>");// 添加HTML标签尾

        comp.setToolTipText(toolTip.toString());// 设置工具提示

    }
有问题的是photoV.get(3)其中3这样的数字代表什么还有rowBytes += (c.getBytes()[0] > 0 ? 1 : 2);是什么意思我还是不明白
分享到:
精彩评论 1
aster
学分:0 LV1
TA的每日心情
开心
2023-01-31 09:41:43
2010-07-10
沙发
Vector类的get(int index)方法返回指定位置的元素,位置的计数是从0开始的,因此photoV.get(3)返回的是photoV对象的第4个元素。
c.getBytes()[0] > 0 ? 1 : 2
这个语句的意思是如果c.getBytes()[0] > 0那么就得到1,反之的到2
rowBytes += (c.getBytes()[0] > 0 ? 1 : 2)
等价于rowBytes = rowBytes + (c.getBytes()[0] > 0 ? 1 : 2)
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照