2015-06-01 09:35:51 +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;
|
|
|
|
|
|
|
|
import com.bytezone.common.DefaultAction;
|
|
|
|
|
|
|
|
class PrintAction extends DefaultAction
|
|
|
|
{
|
|
|
|
DataPanel owner;
|
|
|
|
|
|
|
|
public PrintAction (DataPanel owner)
|
|
|
|
{
|
2017-01-14 11:11:07 +00:00
|
|
|
super ("Print...", "Print the contents of the output panel",
|
|
|
|
"/com/bytezone/diskbrowser/icons/");
|
2019-03-05 07:08:34 +00:00
|
|
|
int mask = Toolkit.getDefaultToolkit ().getMenuShortcutKeyMaskEx ();
|
2015-06-01 09:35:51 +00:00
|
|
|
putValue (Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke (KeyEvent.VK_P, mask));
|
2017-01-14 11:11:07 +00:00
|
|
|
// putValue (Action.MNEMONIC_KEY, KeyEvent.VK_P);
|
2019-03-05 07:08:34 +00:00
|
|
|
|
2015-06-01 09:35:51 +00:00
|
|
|
this.owner = owner;
|
|
|
|
|
|
|
|
setIcon (Action.SMALL_ICON, "printer_16.png");
|
|
|
|
setIcon (Action.LARGE_ICON_KEY, "printer_32.png");
|
|
|
|
}
|
|
|
|
|
2017-01-14 11:11:07 +00:00
|
|
|
@Override
|
2015-06-01 09:35:51 +00:00
|
|
|
public void actionPerformed (ActionEvent e)
|
|
|
|
{
|
|
|
|
Runnable runner = new Runnable ()
|
|
|
|
{
|
2017-01-14 11:11:07 +00:00
|
|
|
@Override
|
2015-06-01 09:35:51 +00:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|