Апплет Java может использовать принтер?

foo = function(x){
    replace(x, ave(x, x, FUN = length) > 1, NA)
}

myCols = c("x", "y")
df1[myCols] = lapply(df1[myCols], foo)
df1
#  box_num       date      x    y
#1    6-WQ 2018-11-18  20.20  8.0
#2    6-WQ 2018-11-25     NA  7.2
#3    6-WQ  2018-12-2     NA 23.0
#4   25-LR 2018-11-18 374.95  4.3
#5   25-LR 2018-11-25     NA  9.3
#6   25-LR  2018-12-2     NA  4.0
#7   73-IU  2018-12-2     NA   NA
#8   73-IU  2018-12-9  28.00   NA
#9   73-IU 2018-12-16     NA 52.8

#DATA
df1 = structure(list(box_num = c("6-WQ", "6-WQ", "6-WQ", "25-LR", "25-LR", 
"25-LR", "73-IU", "73-IU", "73-IU"), date = c("2018-11-18", "2018-11-25", 
"2018-12-2", "2018-11-18", "2018-11-25", "2018-12-2", "2018-12-2", 
"2018-12-9", "2018-12-16"), x = c(20.2, 500.75, 500.75, 374.95, 
0.134, 0.134, 225.54, 28, 225.54), y = c(8, 7.2, 23, 4.3, 9.3, 
4, 0.7562, 0.7562, 52.8)), class = "data.frame", row.names = c(NA, 
-9L))
11
задан jfs 13 January 2009 в 10:28
поделиться

2 ответа

Распечатать Вас должно будет или использовать Апплеты Со знаком или если неподписанный апплет попытается распечатать, то пользователю предложат спросить, позволить ли разрешение.

Вот некоторый пример кода для печати использования HTML JEditorPane:

public class HTMLPrinter implements Printable{
    private final JEditorPane printPane;

    public HTMLPrinter(JEditorPane editorPane){
        printPane = editorPane;
    }

    public int print(Graphics graphics, PageFormat pageFormat, int pageIndex){
        if (pageIndex >= 1) return Printable.NO_SUCH_PAGE;

        Graphics2D g2d = (Graphics2D)graphics;
        g2d.setClip(0, 0, (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
        g2d.translate((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY());

        RepaintManager rm = RepaintManager.currentManager(printPane);
        boolean doubleBuffer = rm.isDoubleBufferingEnabled();
        rm.setDoubleBufferingEnabled(false);

        printPane.setSize((int)pageFormat.getImageableWidth(), 1);
        printPane.print(g2d);

        rm.setDoubleBufferingEnabled(doubleBuffer);

        return Printable.PAGE_EXISTS;
    }
}

Затем отправить его на принтер:

HTMLPrinter target = new HTMLPrinter(editorPane);
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(target);
try{
    printJob.printDialog();
    printJob.print();
}catch(Exception e){
    e.printStackTrace();
}
10
ответ дан 3 December 2019 в 08:05
поделиться

Для печати менеджер безопасности должен позволить этому получать доступ к принтеру. Это означает или подписание апплета или, по крайней мере, с последними версиями плагина Java Sun, если неподписанный апплет попытается распечатать, то пользователю предложат спросить, позволить ли разрешение.

5
ответ дан 3 December 2019 в 08:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: