1 package de.lathanda.eos.common.gui;
3 import static de.lathanda.eos.gui.icons.Icons.*;
5 import java.awt.BorderLayout;
6 import java.awt.HeadlessException;
7 import java.awt.event.ActionEvent;
8 import java.awt.print.PrinterException;
9 import java.awt.print.PrinterJob;
10 import java.util.ResourceBundle;
12 import javax.swing.GroupLayout;
13 import javax.swing.JButton;
14 import javax.swing.JCheckBox;
15 import javax.swing.JFrame;
16 import javax.swing.JOptionPane;
17 import javax.swing.JPanel;
18 import javax.swing.JScrollPane;
19 import javax.swing.JTextField;
20 import javax.swing.JToolBar;
21 import javax.swing.WindowConstants;
22 import javax.swing.event.ChangeEvent;
24 import de.lathanda.eos.base.util.GuiToolkit;
25 import de.lathanda.eos.baseparser.AbstractProgram;
34 private static final long serialVersionUID = -2002251247920181865L;
40 initComponents(title);
44 printview.init(abstractProgram, txtTitle.getText());
47 private void initComponents(String title) {
49 controlToolbar =
new JToolBar();
52 center =
new JPanel();
53 controlToolbar.setLayout(
new BorderLayout());
54 controlToolbar.add(left, BorderLayout.WEST);
55 controlToolbar.add(right, BorderLayout.EAST);
56 controlToolbar.add(center, BorderLayout.CENTER);
60 printScroll =
new JScrollPane();
63 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
64 ResourceBundle bundle = ResourceBundle.getBundle(
"text.gui");
65 setTitle(bundle.getString(
"Print.Title"));
67 controlToolbar.setFloatable(
false);
68 controlToolbar.setRollover(
true);
78 chkLinenumbers.setFocusable(
false);
81 left.add(chkLinenumbers);
83 txtTitle.addActionListener(ae -> printview.
setHeader(txtTitle.getText()));
84 txtTitle.setText(title);
91 GroupLayout printviewLayout =
new GroupLayout(printview);
92 printview.setLayout(printviewLayout);
94 printScroll.setViewportView(printview);
97 getContentPane().add(controlToolbar, BorderLayout.NORTH);
98 getContentPane().add(printScroll, BorderLayout.CENTER);
102 private void btnPrintActionPerformed(ActionEvent evt) {
105 PrinterJob job = PrinterJob.getPrinterJob();
106 job.setPageable(printview);
107 if (!job.printDialog()) {
111 }
catch (HeadlessException | PrinterException t) {
112 JOptionPane.showMessageDialog(
this, Messages.getString(
"Print.Error.Title"), t.getLocalizedMessage(),
113 JOptionPane.ERROR_MESSAGE);
117 private void btnLeftActionPerformed(ActionEvent evt) {
118 printview.previousPage();
121 private void btnRightActionPerformed(ActionEvent evt) {
122 printview.nextPage();
130 private JButton btnLeft;
131 private JButton btnPrint;
132 private JButton btnRight;
133 private JCheckBox chkLinenumbers;
134 private JTextField txtTitle;
135 private JToolBar controlToolbar;
136 private JScrollPane printScroll;
139 private JPanel right;
140 private JPanel center;
static String getString(String id)
void chkLinenumbersChanged(ChangeEvent e)
void init(AbstractProgram abstractProgram)
void setHeader(String header)
void setLinenumberVisible(boolean visible)