“打印快递单”窗体用于对快递单进行打印及对打印属性进行设置。单击主窗体“打印管理”/“打印快递单”菜单项,就可以打开“打印快递单”窗体,如图 4.11 所示。
图 4.11 “打印快递单”窗体
在图 4.11 中显示的快递单是一张图片,通过自定义的BackgroundPanel类完成加载,其关键代码如下:
快递单上的信息需要使用文本框和文本域控件进行接收。在加载完快递单图片后,将面板布局管理器设置成null,然后使用绝对布局来摆放各个控件,其关键代码如下:
在窗体中使用了“上一条”、“下一条”、“打印”和“返回”4 个按钮,并将它们放置在一个面板中,其关键的代码如下:
修改是在原来信息基础上进行的修改,因此需要先获取数据库中的快递单信息并将其添加到快递单中,这里使用了JdbcHelper类中的query()方法获得所有的快递单信息,然后使用自定义的updateContent()方法根据索引值添加快递单信息到窗体。该方法的关键代码如下:
单击“上一条”按钮,将显示上一条快递单的信息,其事件监听器关键代码如下:
在事件监听器中,调用了do_previousButton_actionPerformed()方法,它是由IDE工具自动生成的。这里需要对当前位置进行校验。如果已经是第一条记录,则提示用户。其关键代码如下:
index是指List接口中元素的索引,因此是从 0 开始计数的。
单击“下一条”按钮,将显示下一条快递单的信息,其事件监听器关键代码如下:
在事件监听器中,调用了do_nextButton_actionPerformed()方法,它是由IDE工具自动生成的,这里需要对当前位置进行校验。如果已经是最后一条记录,则提示用户,其关键代码如下:
index是指List接口中元素的索引,因此是从 0 开始计数的。
由于打印时字符串都是绘制到图像中的,并不能直接换行显示,因此需要将较长的信息进行分割处理。这里编写一个split()方法专门处理文本区中的信息,它以 10 为单位分割给定字符串。分割后的字符串保存在字符串数组中,其关键代码如下:
通过监听“打印”按钮,完成打印快递单信息的功能,其事件监听器关键代码如下:
do_printButton_actionPerformed()方法是IDE工具生产的方法,它完成了打印内容的绘制及打印功能,其关键代码如下:
打印前的窗体如图 4.12 所示。
图 4.12 打印前的窗体
打印后的效果如图 4.13 所示。
图 4.13 打印后的快递单
打印快递单时使用A4 纸,同时需要将打印机设置成横向打印。