⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saleorderprintframe.java~17~

📁 一个使用java 写的进销存代码 使用了ejb 等技术 是学习j2ee的好
💻 JAVA~17~
字号:
package saleinterface;import java.awt.*;import java.awt.event.*;import javax.swing.*;import print.*;import java.awt.print.*;import method.*;public class SaleOrderPrintFrame extends JFrame implements ActionListener {  JPanel contentPane;  //创建布局类  BorderLayout borderLayout1 = new BorderLayout();  FlowLayout flowLayout1 = new FlowLayout();  //创建滚动框控件  JScrollPane jScrollPane1 = new JScrollPane();  //创建编辑框控件  JTextField pageInfoTextField = new JTextField();  JTextField pageTextField = new JTextField();  //创建按钮面板  JPanel btnPanel = new JPanel();  //创建按钮  JButton goBtn = new JButton();  JButton priorBtn = new JButton();  JButton nextBtn = new JButton();  JButton printOnePageBtn = new JButton();  JButton printPagesBtn = new JButton();  JButton exitBtn = new JButton();  //创建字体类  Font dialog13 = new java.awt.Font("Dialog", 0, 13);  //创建打印平面  SaleOrderPrintPane saleOrderPrintPane = new SaleOrderPrintPane();  //创建打印类  PrinterJob job = PrinterJob.getPrinterJob();  //创建页面格式类  PageFormat pageFormat = new PageFormat();  //创建页面类  Paper paper = new Paper();  //创建销售单数组  String[] saleLedger = new String[11];  //创建销售单明细账数组  String[][] saleSubLedger = new String[0][4];  //创建总页面变量  int totalPage = 0;  //创建方法类  DataMethod dataMethod = new DataMethod();  public SaleOrderPrintFrame() {    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception  {    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(borderLayout1);    this.setSize(new Dimension(630, 700));    this.setTitle("销售单打印窗口");    //设置打印页面的的尺寸    paper.setSize(600, 850);    //设置打印范围    paper.setImageableArea(0, 0, 600, 850);    //加入pageFormat类中    pageFormat.setPaper(paper);    //设置打印面板的大小    saleOrderPrintPane.setPreferredSize(new Dimension(600, 850));    //设置编辑框控件的属性    pageInfoTextField.setEditable(false);    pageInfoTextField.setText("共0页");    pageInfoTextField.setPreferredSize(new Dimension(50, 22));    pageTextField.setPreferredSize(new Dimension(30, 22));    //设置按钮面板的布局    btnPanel.setLayout(flowLayout1);    //设置按钮的属性    priorBtn.setText("上一页");    priorBtn.setActionCommand("prior");    nextBtn.setText("下一页");    nextBtn.setActionCommand("next");    goBtn.setText("显示页面");    goBtn.setActionCommand("show");    printOnePageBtn.setText("打印当前页");    printOnePageBtn.setActionCommand("printOnePage");    printPagesBtn.setText("打印全部");    printPagesBtn.setActionCommand("printPages");    exitBtn.setText("退出");    exitBtn.setActionCommand("exit");    //设置滚动框的属性    jScrollPane1.getViewport().add(saleOrderPrintPane);    //为按钮面板加入控件    btnPanel.add(pageInfoTextField, null);    btnPanel.add(priorBtn, null);    btnPanel.add(nextBtn, null);    btnPanel.add(pageTextField, null);    btnPanel.add(goBtn, null);    btnPanel.add(printOnePageBtn, null);    btnPanel.add(printPagesBtn, null);    btnPanel.add(exitBtn, null);    //为窗口面板加入控件    contentPane.add(btnPanel, BorderLayout.NORTH);    contentPane.add(jScrollPane1, BorderLayout.CENTER);    //设置窗口类的字体和为按钮加入动作接收器    setupFontAndListener();  }  //设置窗口类的字体和为按钮加入动作接收器的方法  public void setupFontAndListener(){    Component[] components = btnPanel.getComponents();    //创建临时按钮控件    JButton tmpBtn = new JButton();    for(int i = 0; i < components.length; i++){      components[i].setFont(dialog13);      if(components[i].getClass().getName().equals("javax.swing.JButton")){        tmpBtn = (JButton)components[i];        tmpBtn.addActionListener(this);      }    }  }  protected void processWindowEvent(WindowEvent e) {    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      exit();    }  }  //退出方法  public void exit(){    //隐藏窗口    this.setVisible(false);    //清空编辑框的内容    pageInfoTextField.setText("共0页");    pageTextField.setText("");  }  //分拆页面的方法  public void splitPage(){    int length = saleSubLedger.length;    totalPage = 1;    //第一页最多只显示22条明细账记录    length -= 22;    //其它页最多显示38条明细账记录    int otherPages = (int)length/38;    totalPage += otherPages;    if((length % 38) > 0){      totalPage += 1;    }    pageInfoTextField.setText("共" + totalPage + "页");    //显示第1页的数据    if(totalPage > 0){      pageTextField.setText("1");      this.showOnePage();    }  }  //单击事件  public void actionPerformed(ActionEvent e) {    //取得按钮的动作字符串    String actionCommand = e.getActionCommand().trim();    //单击按钮的处理代码    if (actionCommand.equals("prior")) {      //显示上一页的方法      String inputPage = pageTextField.getText();      //检查是否整数      if(dataMethod.checkInt(inputPage) == 0){        JOptionPane.showMessageDialog(null,"页码必须是整数,请重新输入.");        return;      }      int page = Integer.parseInt(inputPage) ;      page--;      if(page == 0 ){        page = 1;      }      pageTextField.setText(String.valueOf(page));      this.showOnePage();    }else if(actionCommand.equals("next")){      //显示下一页的方法      String inputPage = pageTextField.getText();      //检查是否整数      if(dataMethod.checkInt(inputPage) == 0){        JOptionPane.showMessageDialog(null,"页码必须是整数,请重新输入.");        return;      }      int page = Integer.parseInt(inputPage) ;      page++;      if(page > totalPage ){        page = totalPage;      }      pageTextField.setText(String.valueOf(page));      this.showOnePage();    }else if(actionCommand.equals("show")){      //显示选择页面的方法      this.showOnePage();    }else if(actionCommand.equals("printOnePage")){      //打印选择页面的方法      this.printOnePage();    }else if(actionCommand.equals("printPages")){      //打印全部页面的方法      for (int iPage = 1; iPage <= totalPage; iPage++){        pageTextField.setText(String.valueOf(iPage));        this.printOnePage();      }    }else if(actionCommand.equals("exit")){      exit();    }  }  //显示当前页的方法  public void showOnePage() {    String inputPage = pageTextField.getText();    //检查是否整数    if(dataMethod.checkInt(inputPage) == 0){      JOptionPane.showMessageDialog(null,"页码必须是整数,请重新输入.");      return;    }    int page = Integer.parseInt(inputPage) ;    if((page > totalPage) || (page <= 0)){      JOptionPane.showMessageDialog(null,"页码输入有误,请重新输入.");      return;    }    //显示第一页的方法    if(page == 1){      saleOrderPrintPane.setIsFirstPage(true);      saleOrderPrintPane.setSaleLedger(saleLedger);      if(totalPage == 1){        saleOrderPrintPane.setStockSubLedger(saleSubLedger);      }else{        String[][] tempStockSubLedger = new String[22][5];        System.arraycopy(saleSubLedger, 0, tempStockSubLedger, 0, 22);        saleOrderPrintPane.setStockSubLedger(tempStockSubLedger);      }    //显示其它页的方法    }else{      saleOrderPrintPane.setIsFirstPage(false);      String[][] tempStockSubLedger = null;      if(page == totalPage){        //取得最后一页剩余的记录数        int records = (saleSubLedger.length - 22) % 38;        tempStockSubLedger = new String[records][5];        //复制数组        System.arraycopy(saleSubLedger, 22 + (page - 2) * 38, tempStockSubLedger, 0, records);        saleOrderPrintPane.setStockSubLedger(tempStockSubLedger);      }else{        tempStockSubLedger = new String[38][5];        System.arraycopy(saleSubLedger, 22 + (page - 2) * 38, tempStockSubLedger, 0, 38);        saleOrderPrintPane.setStockSubLedger(tempStockSubLedger);      }    }    //设置页码    saleOrderPrintPane.setPrintPage(page);    //重新显示面板内容    saleOrderPrintPane.repaint();  }  //打印当前页的方法  public void printOnePage() {    //创建打印接口    SaleOrderPrintable saleOrderPrintable = new SaleOrderPrintable();    //显示当前页的内容    this.showOnePage();    //创建打印任务    Book book = new Book();    book.append(saleOrderPrintable, pageFormat);    // 设置打印机的Book    job.setPageable(book);    //打开打印窗口,询问是否进行打印    boolean doPrint = job.printDialog();    if (doPrint) {      try {        //执行打印命令        job.print();      }      catch (PrinterException ex) {        ex.printStackTrace();      }    }  }  //设置销售单数组的方法  public void setSaleLedger(String[] saleLedger) {    this.saleLedger = saleLedger;  }  //设置销售单明细账的方法  public void setSaleSubLedger(String[][] saleSubLedger) {    this.saleSubLedger = saleSubLedger;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -