Модификация в библиотеке WAGU (данные в табличном представлении)

Ссылаясь насообщениеВ ответе, который дал мистер Клаф, он написал код, чтобы получить такой вывод,

       PLATINUM COMPUTERS(PVT) LTD          
 NO 20/B, Main Street, Kandy, Sri Lanka.    
Land: 812254630 Mob: 712205220 Fax: 812254639 

            CUSTOMER INVOICE                

+-----------------------+----------------------+
|INFO                   |CUSTOMER              |
+-----------------------+----------------------+
|DATE: 2015-9-8         |ModernTec Distributors|
|TIME: 10:53:AM         |MOB: +94719530398     |
|BILL NO: 12            |ADDRES: No 25, Main St|
|INVOICE NO: 458-80-108 |reet, Kandy.          |
+-----------------------+----------------------+
|                SELLING DETAILS               |
+-----------------+---------+-----+------------+
|ITEM             | PRICE($)|  QTY|       VALUE|
+-----------------+---------+-----+------------+
|Optical mouse    |   120.00|   20|     2400.00|
|Gaming keyboard  |   550.00|   30|    16500.00|
|320GB SATA HDD   |   220.00|   32|     7040.00|
|500GB SATA HDD   |   274.00|   13|     3562.00|
|1TB SATA HDD     |   437.00|   11|     4807.00|
|RE-DVD ROM       |   144.00|   29|     4176.00|
|DDR3 4GB RAM     |   143.00|   13|     1859.00|
|Blu-ray DVD      |    94.00|   28|     2632.00|
|WR-DVD           |   122.00|   34|     4148.00|
|Adapter          |   543.00|   28|    15204.00|
+-----------------+---------+-----+------------+
|               RETURNING DETAILS              |
+-----------------+---------+-----+------------+
|ITEM             | PRICE($)|  QTY|       VALUE|
+-----------------+---------+-----+------------+
|320GB SATA HDD   |   220.00|    4|      880.00|
|WR-DVD           |   122.00|    7|      854.00|
|1TB SATA HDD     |   437.00|    7|     3059.00|
|RE-DVD ROM       |   144.00|    4|      576.00|
|Gaming keyboard  |   550.00|    6|     3300.00|
|DDR3 4GB RAM     |   143.00|    7|     1001.00|
+-----------------+---------+-----+------------+
                              GROSS   59,928.00 
                       DISCOUNT(5%)    2,996.40 
                             RETURN    9,670.00 
                            PAYABLE   47,261.60 
                               CASH   20,000.00 
                             CHEQUE   15,000.00 
                    CREDIT(BALANCE)   12,261.60 


   ---------------------   --------------------- 
      CASH COLLECTOR         GOODS RECEIVED BY   
           soulution by clough.com   

код для вывода выше приведен ниже:

String company = ""
            + "PLATINUM COMPUTERS(PVT) LTD\n"
            + "NO 20/B, Main Street, Kandy, Sri Lanka.\n"
            + "Land: 812254630 Mob: 712205220 Fax: 812254639\n"
            + " \n"
            + "CUSTOMER INVOICE\n"
            + " \n";
    List<String> t1Headers = Arrays.asList("INFO", "CUSTOMER");
    List<List<String>> t1Rows = Arrays.asList(
            Arrays.asList("DATE: 2015-9-8", "ModernTec Distributors"),
            Arrays.asList("TIME: 10:53:AM", "MOB: +94719530398"),
            Arrays.asList("BILL NO: 12", "ADDRES: No 25, Main Street, Kandy."),
            Arrays.asList("INVOICE NO: 458-80-108", "")
    );
    String t2Desc = "SELLING DETAILS";
    List<String> t2Headers = Arrays.asList("ITEM", "PRICE($)", "QTY", "VALUE");
    List<List<String>> t2Rows = Arrays.asList(
            Arrays.asList("Optical mouse", "120.00", "20", "2400.00"),
            Arrays.asList("Gaming keyboard", "550.00", "30", "16500.00"),
            Arrays.asList("320GB SATA HDD", "220.00", "32", "7040.00"),
            Arrays.asList("500GB SATA HDD", "274.00", "13", "3562.00"),
            Arrays.asList("1TB SATA HDD", "437.00", "11", "4807.00"),
            Arrays.asList("RE-DVD ROM", "144.00", "29", "4176.00"),
            Arrays.asList("DDR3 4GB RAM", "143.00", "13", "1859.00"),
            Arrays.asList("Blu-ray DVD", "94.00", "28", "2632.00"),
            Arrays.asList("WR-DVD", "122.00", "34", "4148.00"),
            Arrays.asList("Adapter", "543.00", "28", "15204.00")
    );
    List<Integer> t2ColWidths = Arrays.asList(17, 9, 5, 12);
    String t3Desc = "RETURNING DETAILS";
    List<String> t3Headers = Arrays.asList("ITEM", "PRICE($)", "QTY", "VALUE");
    List<List<String>> t3Rows = Arrays.asList(
            Arrays.asList("320GB SATA HDD", "220.00", "4", "880.00"),
            Arrays.asList("WR-DVD", "122.00", "7", "854.00"),
            Arrays.asList("1TB SATA HDD", "437.00", "7", "3059.00"),
            Arrays.asList("RE-DVD ROM", "144.00", "4", "576.00"),
            Arrays.asList("Gaming keyboard", "550.00", "6", "3300.00"),
            Arrays.asList("DDR3 4GB RAM", "143.00", "7", "1001.00")
    );
    String summary = ""
            + "GROSS\n"
            + "DISCOUNT(5%)\n"
            + "RETURN\n"
            + "PAYABLE\n"
            + "CASH\n"
            + "CHEQUE\n"
            + "CREDIT(BALANCE)\n";
    String summaryVal = ""
            + "59,928.00\n"
            + "2,996.40\n"
            + "9,670.00\n"
            + "47,261.60\n"
            + "20,000.00\n"
            + "15,000.00\n"
            + "12,261.60\n";
    String sign1 = ""
            + "---------------------\n"
            + "CASH COLLECTOR\n";
    String sign2 = ""
            + "---------------------\n"
            + "GOODS RECEIVED BY\n";
    String advertise = "soulution by clough.com";

    //bookmark
    Board b = new Board(48);
    b.setInitialBlock(new Block(b, 46, 7, company).allowGrid(false).setBlockAlign(Block.BLOCK_CENTRE).setDataAlign(Block.DATA_CENTER));
    b.appendTableTo(0, Board.APPEND_BELOW, new Table(b, 48, t1Headers, t1Rows));
    b.getBlock(3).setBelowBlock(new Block(b, 46, 1, t2Desc).setDataAlign(Block.DATA_CENTER));
    b.appendTableTo(5, Board.APPEND_BELOW, new Table(b, 48, t2Headers, t2Rows, t2ColWidths));
    b.getBlock(10).setBelowBlock(new Block(b, 46, 1, t3Desc).setDataAlign(Block.DATA_CENTER));
    b.appendTableTo(14, Board.APPEND_BELOW, new Table(b, 48, t3Headers, t3Rows, t2ColWidths));
    Block summaryBlock = new Block(b, 35, 9, summary).allowGrid(false).setDataAlign(Block.DATA_MIDDLE_RIGHT);
    b.getBlock(19).setBelowBlock(summaryBlock);
    Block summaryValBlock = new Block(b, 12, 9, summaryVal).allowGrid(false).setDataAlign(Block.DATA_MIDDLE_RIGHT);
    summaryBlock.setRightBlock(summaryValBlock);
    Block sign1Block = new Block(b, 24, 7, sign1).setDataAlign(Block.DATA_BOTTOM_MIDDLE).allowGrid(false);
    summaryBlock.setBelowBlock(sign1Block);
    sign1Block.setRightBlock(new Block(b, 24, 7, sign2).setDataAlign(Block.DATA_BOTTOM_MIDDLE).allowGrid(false));
    sign1Block.setBelowBlock(new Block(b, 48, 3, advertise).setDataAlign(Block.DATA_CENTER).allowGrid(false));
    //b.showBlockIndex(true);
    System.out.println(b.invalidate().build().getPreview());

Теперь проблема, с которой я сталкиваюсь, заключается в том, что мне не нужен раздел «Возврат деталей» из счета. Я просто хочу добавить раздел с заголовком компании, а не раздел с информацией и клиентом, а затем продать только детали и общее количество.

Я пишу свой код, в который я внес изменения в соответствии с моими требованиями, но я не могу сократить раздел сведений о возврате и раздел подписи. ниже мой код:

          String company = ""
            + "V.K Autos Larkana\n"
            + "Near Rehmaniya Masjid Larkana\n"
            + "Police Shopping Center Larkana\n"
            + "Cell: 0334-3269198, 0333-3910951\n"
            + " \n"
            + "CUSTOMER INVOICE\n"
            + " \n";

    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

    List<String> t1Headers = Arrays.asList("INFO", "CUSTOMER");
    List<List<String>> t1Rows = Arrays.asList(
            Arrays.asList("DATE: " + date + "", "" + txt_cnam.getText()),
            Arrays.asList("TIME: " + sdf.format(cal.getTime()) + "", "Bill No:" + billno + "")
    );
    String t2Desc = "SELLING DETAILS";
    List<String> t2Headers = Arrays.asList("ITEM", "QTY", "Rate", "Total");

    List<List<String>> t2Rows = new ArrayList<List<String>>();

    for (int i = 0; i < tbl_sale.getRowCount(); i++) {
        String pid = tbl_sale.getValueAt(i, 0).toString();
        String item = tbl_sale.getValueAt(i, 1).toString();
        String quant = tbl_sale.getValueAt(i, 2).toString();
        String rate = tbl_sale.getValueAt(i, 3).toString();
        String rs = tbl_sale.getValueAt(i, 4).toString();
        ArrayList<String> temp = new ArrayList<String>();
        temp.add(item);
        temp.add(quant);
        temp.add(rate);
        temp.add(rs);
        t2Rows.add(temp);
    }
    List<Integer> t2ColWidths = Arrays.asList(17, 9, 5, 12);
    String t3Desc = "Sub Total";
    List<String> t3Headers = Arrays.asList("", "", "", "");
    List<List<String>> t3Rows = Arrays.asList(
            Arrays.asList("WR-DVD", "122.00", "7", "854.00")
    );

    String summary = ""
            + "Sub Total\n";

    String summaryVal = ""
            + txt_total.getText() + "\n";
    String sign1 = ""
            + "------------Thank You-------------\n";
    String sign2 = ""
            + "-We value your visit-\n";
    String advertise = "-We value your visit-";
    try {
        Board b = new Board(48);
        b.setInitialBlock(new Block(b, 46, 7, company).allowGrid(false).setBlockAlign(Block.BLOCK_CENTRE).setDataAlign(Block.DATA_CENTER));
        b.appendTableTo(0, Board.APPEND_BELOW, new Table(b, 48, t1Headers, t1Rows));
        b.getBlock(3).setBelowBlock(new Block(b, 46, 1, t2Desc).setDataAlign(Block.DATA_CENTER));
        b.appendTableTo(5, Board.APPEND_BELOW, new Table(b, 48, t2Headers, t2Rows, t2ColWidths));
        b.getBlock(10).setBelowBlock(new Block(b, 46, 1, t3Desc).setDataAlign(Block.DATA_CENTER));
        b.appendTableTo(14, Board.APPEND_BELOW, new Table(b, 48, t3Headers, t3Rows, t2ColWidths));
        Block summaryBlock = new Block(b, 35, 3, summary).allowGrid(false).setDataAlign(Block.DATA_MIDDLE_RIGHT);
        b.getBlock(19).setBelowBlock(summaryBlock);
        Block summaryValBlock = new Block(b, 12, 3, summaryVal).allowGrid(false).setDataAlign(Block.DATA_MIDDLE_RIGHT);
        summaryBlock.setRightBlock(summaryValBlock);
        Block sign1Block = new Block(b, 24, 7, sign1).setDataAlign(Block.DATA_BOTTOM_MIDDLE).allowGrid(false);
        summaryBlock.setBelowBlock(sign1Block);
        sign1Block.setRightBlock(new Block(b, 24, 7, sign2).setDataAlign(Block.DATA_BOTTOM_MIDDLE).allowGrid(false));
        sign1Block.setBelowBlock(new Block(b, 48, 3, advertise).setDataAlign(Block.DATA_CENTER).allowGrid(false));
        System.out.println(b.invalidate().build().getPreview());

и результат вышеприведенного кода:

                  V.K Autos Larkana               
      Near Rehmaniya Masjid Larkana         
     Police Shopping Center Larkana         
    Cell: 0334-3269198, 0333-3910951        

            CUSTOMER INVOICE                

+-----------------------+----------------------+
|INFO                   |CUSTOMER              |
+-----------------------+----------------------+
|DATE: 2016/01/27       |Mohammad Rafi Abro    |
|TIME: 23:23:49         |Bill No:9             |
+-----------------------+----------------------+
|                SELLING DETAILS               |
+-----------------+---------+-----+------------+
|ITEM             |      QTY| Rate|       Total|
+-----------------+---------+-----+------------+
|nuts             |       50|   25|        1250|
+-----------------+---------+-----+------------+
|                   Sub Total                  |
+-----------------+---------+-----+------------+
|                 |         |     |            |
+-----------------+---------+-----+------------+
|WR-DVD           |   122.00|    7|      854.00|
+-----------------+---------+-----+------------+
                          Sub Total        1250 


   ------------Thank You--------                        
    -We value your visit-
    -We value your visit-    

но я хочу вывод, как:

                  V.K Autos Larkana               
      Near Rehmaniya Masjid Larkana         
     Police Shopping Center Larkana         
    Cell: 0334-3269198, 0333-3910951        

            CUSTOMER INVOICE                

+-----------------------+----------------------+
|INFO                   |CUSTOMER              |
+-----------------------+----------------------+
|DATE: 2016/01/27       |Mohammad Rafi Abro    |
|TIME: 23:23:49         |Bill No:9             |
+-----------------------+----------------------+
|                SELLING DETAILS               |
+-----------------+---------+-----+------------+
|ITEM             |      QTY| Rate|       Total|
+-----------------+---------+-----+------------+
|nuts             |       50|   25|        1250|
+-----------------+---------+-----+------------+                  
                          Sub Total        1250

     ===== Thank you for your kind visit ===

и я хочу уменьшить ее ширину, текущая ширина платы равна 48, но когда я изменяю ее значение на 40, она также показывает мне ошибку :( пожалуйста, любой может помочь мне через это.

Ответы на вопрос(1)

Ваш ответ на вопрос