}
}
}
/*将打印目标文本按页存放为字符串数组*/
public String[] getDrawText(String s) {
String[] drawText = new String[PAGES]; //根据页数初始化数组
for (int i = 0; i < PAGES; i++)
drawText[i] = ""; //数组元素初始化为空字符串
int k, suffix = 0, lines = 0;
while (s.length() > 0) {
if (lines < 54) //不够一页时
{
k = s.indexOf(\\\\\\\\\\\\\\\ \\\\\\\);
if (k != -1) //存在回车符
{
lines += 1; //行数累加
//计算该页的具体文本内容,存放到相应下标的数组元素
drawText[suffix] = drawText[suffix] + s.substring(0, k + 1);
if (s.substring(k + 1).length() > 0)
s = s.substring(k + 1);
}
else
{
lines += 1; //行数累加
//将文本内容存放到相应的数组元素
drawText[suffix] = drawText[suffix] + s;
s = "";
}
}
else //已满一页时
{
lines = 0; //行数统计清零
suffix++; //数组下标加1
}
}
return drawText;
}
2) 计算需要打印的总页数
| public int getPagesCount(String curStr) { int page = 0; int position, count = 0; String str = curStr; while(str.length() > 0) //文本尚未计算完毕 { position = str.indexOf(\\\\\\\\\\\\\\\ \\\\\\\); //计算回车符的位置 count += 1; //统计行数 if (position != -1) str = str.substring(position + 1); //截取尚未计算的文本 else str = ""; //文本已计算完毕 } if (count > 0) page = count / 54 + 1; //以总行数除以54获取总页数 return page; //返回需打印的总页数 } |
以jdk1.4以前的版本实现打印动作按钮监听,并完成具体的打印操作
| private void printTextAction() { printStr = area.getText().trim(); //获取需要打印的目标文本 if (printStr != null && printStr.length() > 0) //当打印内容不为空时 { PAGES = getPagesCount(printStr); //获取打印总页数 PrinterJob myPrtJob = PrinterJob.getPrinterJob(); //获取默认打印作业 PageFormat pageFormat = myPrtJob.defaultPage(); //获取默认打印页面格式 myPrtJob.setPrintable(this, pageFormat); //设置打印工作 if (myPrtJob.printDialog()) //显示打印对话框 { try { myPrtJob.print(); //进行每一页的具体打印操作 } catch(PrinterException p <script type="text/java script">
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732">
<script type="text/java script" id="bdshell_js">
<script type="text/java script">
var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}};
document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)
<iframe src="http://www.2cto.com/uapi.php tid=13616&catid=85&title=SmF2YbTy06GzzNDyyei8xsiruaXC1A==&forward=http://www.2cto.com/kf/200609/13616.html" width="100%" height="100%" id="comment_iframe" name="comment_iframe" frameborder="0" scrolling="no">
|




