科技时代新浪首页 > 科技时代 > 学园 > 正文

让界面更加绚丽 JavaSE6.0四种新功能(3)


http://www.sina.com.cn 2006年12月19日 09:07 天极yesky

  增强的打印功能

  自从Java SE 5开始,Sun就对控件的打印功能进行了加强。如JTextField、JTextArea等。在Java SE 6中Sun为打印增加了分页功能。我们只需要调用JtextField或JTextArea的print方法就可以调用打印对话框。下面是一段测试代码。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;

public class TextPrint
{
 public static void main(final String args[])
 {
  JFrame frame = new JFrame("打印测试");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  final JTextArea textArea = new JTextArea();
  JScrollPane pane = new JScrollPane(textArea);
  frame.add(pane, BorderLayout.CENTER);
  textArea.setText("打印内容...\r\n可以分页!" );
  JButton button = new JButton("打印");
  frame.add(button, BorderLayout.SOUTH);
  ActionListener listener = new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    try
    {
     textArea.print();
    }
    catch (PrinterException pe)
    {
     System.err.println("打印失败...");
    }
   }
  };
  button.addActionListener(listener);
  frame.setSize(250, 150);
  frame.setVisible(true);
 }
}

  图7和图8分别是打印对话框和设置对话框,点击"打印"按钮后弹出如图8的对话框。

让界面更加绚丽JavaSE6.0四种新功能(3)
图7 打印界面
让界面更加绚丽JavaSE6.0四种新功能(3)
图8 设置对话框

  虽然提供了打印设置对话框,但我们并无法设置如页眉(角)等信息,幸运的是print的一个重载为我们提供了这个功能。下面是这个方法的参数。

public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive)

[上一页] [1] [2] [3] [4] [下一页]

本文导航:
·带有排序和过滤功能的JTable
·增强的JTabbedPane组件
·增强的打印功能
·增强的拖放功能

发表评论 _COUNT_条

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有