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

56 lines
1.5 KiB
Java
Raw Normal View History

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);
}
}