Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

О яве. Печатаем из аплета.

div.main {margin-left: 20pt; margin-right: 20pt} О яве. Печатаем из аплета. Часть 2.

Записи для Navigator-а и Internet Explorer-а

Код HTML, необходимый для указания и JAR файла и CAB файла обычно выглядит так:

<applet code=Main.class archive="signed.jar" width=320 height=400> <param name="cabbase" value="signed.cab"></applet>

Кроме этого, вам может потребоваться включить в вашу программу, похожий код, для того, что бы удостовериться, что исполняется он действиетльно под Netscape:

String vendor = System.getProperty("java.vendor");if (vendor.substring(0,8).equals("Netscape")) PrivilegeManager.enablePrivilege("UniversalPrintJobAccess");


Создание объекта PrintJob

Интерфейс ToolKit может возвращать объект PintJob. Уже из него, Вы можете получить объект типа Graphics. А уже затем заполнить его используя метод Component.printAll(Graphics). Для очистки страницы, вызывайте Graphics.dispose() и по моему мнению, для печати следующей страницы лучше создавать новый объект типа PrintJob, заполнять его и потом опять уничтожать. Для преждевременного прерывания печати нужно вызывать метод PrintJob.end().

Следующий код - простой пример:

import java.util.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import netscape.security.PrivilegeManager; // this is Netscape's Capabilities APIclass ButtonActionListener implements ActionListener { PrintableFrame frame; ButtonActionListener(PrintableFrame frame) { this.frame = frame; } public void actionPerformed(ActionEvent e) { frame.print(); }}class PrintableFrame extends Frame { boolean is_netscape = System.getProperty("java.vendor").substring(0,8).equals("Netscape"); PrintableFrame() { setSize(100,100); setLayout(new GridLayout(1,1)); Label label = new Label("Hello World!"); add(label); pack(); } public void print() { Toolkit kit = getToolkit(); try { if (is_netscape) PrivilegeManager.enablePrivilege("UniversalPrintJobAccess"); // get the PrintJob object PrintJob job = kit.getPrintJob(this, "PrintableFrame print job", null); // do the printing if the user didn't cancel the print job if (job != null) { Graphics g = job.getGraphics(); printAll(g); // not paint(g) // finish with this page g.dispose(); // finish with the PrintJob job.end(); } } catch (Exception ex) { if (is_netscape && ex instanceof netscape.security.ForbiddenTargetException) System.err.println("User did not grant print access"); else ex.printStackTrace(); } }}public class Main extends Applet { PrintableFrame frame = new PrintableFrame(); public void init() { frame.setVisible(true); Button button = new Button("Print"); add(button); ButtonActionListener listener = new ButtonActionListener(frame); button.addActionListener(listener); }}

Кроме того я собрал Makefile, сорсы и прочее в один файл формата tar: pjobex.tar.



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте