dmolony-DiskBrowser/src/com/bytezone/diskbrowser/gui/PrintAction.java

62 lines
1.9 KiB
Java
Raw Permalink Normal View History

2020-02-08 22:20:08 +00:00
package com.bytezone.diskbrowser.gui;
import java.awt.EventQueue;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.swing.Action;
import javax.swing.KeyStroke;
2020-06-26 04:39:05 +00:00
import com.bytezone.diskbrowser.utilities.DefaultAction;
2020-02-08 22:20:08 +00:00
// -----------------------------------------------------------------------------------//
class PrintAction extends DefaultAction
// -----------------------------------------------------------------------------------//
{
2021-09-18 13:44:48 +00:00
OutputPanel owner;
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
2021-09-18 13:44:48 +00:00
public PrintAction (OutputPanel owner)
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
{
super ("Print...", "Print the contents of the output panel",
"/com/bytezone/diskbrowser/icons/");
int mask = Toolkit.getDefaultToolkit ().getMenuShortcutKeyMaskEx ();
putValue (Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke (KeyEvent.VK_P, mask));
// putValue (Action.MNEMONIC_KEY, KeyEvent.VK_P);
this.owner = owner;
setIcon (Action.SMALL_ICON, "printer_16.png");
setIcon (Action.LARGE_ICON_KEY, "printer_32.png");
}
// ---------------------------------------------------------------------------------//
@Override
public void actionPerformed (ActionEvent e)
// ---------------------------------------------------------------------------------//
{
Runnable runner = new Runnable ()
{
@Override
public void run ()
{
try
{
PrinterJob job = PrinterJob.getPrinterJob ();
job.setPrintable (new PrintDocument (owner.getCurrentText ()));
if (job.printDialog ())
job.print ();
}
catch (PrinterException e)
{
System.out.println ("printer error");
}
}
};
EventQueue.invokeLater (runner);
}
2015-06-01 09:35:51 +00:00
}