Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.43 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.EventQueue;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8.  
  9.  
  10. import java.awt.Font;
  11. import java.awt.Graphics2D;
  12. import java.awt.print.PageFormat;
  13. import java.awt.print.Printable;
  14. import java.awt.print.PrinterException;
  15. import java.awt.print.PrinterJob;
  16. import java.time.LocalDate;
  17. import java.time.format.DateTimeFormatter;
  18. import javax.swing.SwingConstants;
  19.  
  20. public class Stampa {
  21.  
  22. private JFrame frame;
  23. double qt, num, sconto, importo;
  24. /**
  25. * Launch the application.
  26. */
  27. public static void stampa() {
  28. EventQueue.invokeLater(new Runnable() {
  29. public void run() {
  30. try {
  31. Stampa window = new Stampa();
  32. window.frame.setVisible(true);
  33. } catch (Exception e) {
  34. e.printStackTrace();
  35. }
  36. }
  37. });
  38. }
  39.  
  40. /**
  41. * Create the application.
  42. */
  43. public Stampa() {
  44. initialize();
  45. }
  46.  
  47. /**
  48. * Initialize the contents of the frame.
  49. */
  50. private void initialize() {
  51. frame = new JFrame();
  52. frame.getContentPane().setFont(new Font("Tahoma", Font.PLAIN, 12));
  53. frame.setBounds(100, 100, 794, 1123);
  54. frame.setResizable(false);
  55. frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  56. frame.getContentPane().setLayout(null);
  57.  
  58. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
  59. LocalDate localDate = LocalDate.now();
  60. System.out.println(dtf.format(localDate));
  61.  
  62. JLabel lblSpettle = new JLabel("SPETT.LE");
  63. lblSpettle.setFont(new Font("Tahoma", Font.PLAIN, 12));
  64. lblSpettle.setBounds(442, 116, 68, 14);
  65. frame.getContentPane().add(lblSpettle);
  66.  
  67. JLabel lblNewLabel = new JLabel(Main.textField_14.getText()+" "+Main.textField_15.getText());
  68.  
  69. lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 12));
  70. lblNewLabel.setBounds(442, 141, 250, 14);
  71. frame.getContentPane().add(lblNewLabel);
  72.  
  73. JLabel lblNewLabel_1 = new JLabel(Main.textField_18.getText());
  74. lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 12));
  75. lblNewLabel_1.setBounds(442, 184, 250, 14);
  76. frame.getContentPane().add(lblNewLabel_1);
  77.  
  78. JLabel lblNewLabel_2 = new JLabel(Main.textField_19.getText()+" "+Main.textField_17.getText());
  79. lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 12));
  80. lblNewLabel_2.setBounds(442, 223, 206, 14);
  81. frame.getContentPane().add(lblNewLabel_2);
  82.  
  83. JLabel lblNewLabel_3 = new JLabel(Main.textField_20.getText());
  84. lblNewLabel_3.setBounds(714, 224, 43, 14);
  85. frame.getContentPane().add(lblNewLabel_3);
  86.  
  87. JLabel lblNewLabel_4 = new JLabel("Codice Cliente: "+Main.codw);
  88. lblNewLabel_4.setFont(new Font("Tahoma", Font.PLAIN, 12));
  89. lblNewLabel_4.setBounds(29, 165, 250, 14);
  90. frame.getContentPane().add(lblNewLabel_4);
  91.  
  92. JLabel label = new JLabel("Milano, "+dtf.format(localDate));
  93. label.setFont(new Font("Tahoma", Font.PLAIN, 12));
  94. label.setBounds(29, 224, 250, 14);
  95. frame.getContentPane().add(label);
  96.  
  97. JLabel label_1 = new JLabel("Partita Iva: "+Main.textField_16.getText());
  98. label_1.setFont(new Font("Tahoma", Font.PLAIN, 12));
  99. label_1.setBounds(29, 202, 250, 14);
  100. frame.getContentPane().add(label_1);
  101.  
  102. JLabel lblNewLabel_5 = new JLabel("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
  103. lblNewLabel_5.setFont(new Font("Tahoma", Font.PLAIN, 12));
  104. lblNewLabel_5.setBounds(29, 336, 728, 14);
  105. frame.getContentPane().add(lblNewLabel_5);
  106.  
  107. JLabel label_2 = new JLabel("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
  108. label_2.setFont(new Font("Tahoma", Font.PLAIN, 12));
  109. label_2.setBounds(29, 381, 728, 14);
  110. frame.getContentPane().add(label_2);
  111.  
  112. JLabel lblNewLabel_6 = new JLabel("D E S C R I Z I O N E");
  113. lblNewLabel_6.setFont(new Font("Tahoma", Font.PLAIN, 12));
  114. lblNewLabel_6.setBounds(55, 357, 122, 24);
  115. frame.getContentPane().add(lblNewLabel_6);
  116.  
  117. JLabel lblQta = new JLabel("Q.TA");
  118. lblQta.setFont(new Font("Tahoma", Font.PLAIN, 12));
  119. lblQta.setBounds(244, 357, 43, 24);
  120. frame.getContentPane().add(lblQta);
  121.  
  122. JLabel lblPrezzo = new JLabel("PREZZO");
  123. lblPrezzo.setFont(new Font("Tahoma", Font.PLAIN, 12));
  124. lblPrezzo.setBounds(345, 357, 49, 24);
  125. frame.getContentPane().add(lblPrezzo);
  126.  
  127. JLabel lblSconto = new JLabel("SCONTO");
  128. lblSconto.setFont(new Font("Tahoma", Font.PLAIN, 12));
  129. lblSconto.setBounds(457, 357, 53, 24);
  130. frame.getContentPane().add(lblSconto);
  131.  
  132. JLabel lblImporto = new JLabel("IMPORTO");
  133. lblImporto.setFont(new Font("Tahoma", Font.PLAIN, 12));
  134. lblImporto.setBounds(589, 357, 59, 24);
  135. frame.getContentPane().add(lblImporto);
  136.  
  137. JLabel lblIva = new JLabel("IVA");
  138. lblIva.setFont(new Font("Tahoma", Font.PLAIN, 12));
  139. lblIva.setBounds(714, 357, 27, 24);
  140. frame.getContentPane().add(lblIva);
  141.  
  142. JLabel label_4 = new JLabel("Testata: "+Main.textField_21.getText());
  143. label_4.setFont(new Font("Tahoma", Font.PLAIN, 12));
  144. label_4.setBounds(29, 473, 250, 14);
  145. frame.getContentPane().add(label_4);
  146.  
  147. JLabel label_5 = new JLabel(Main.textField_22.getText()+" "+Main.textField_28.getText());
  148. label_5.setFont(new Font("Tahoma", Font.PLAIN, 12));
  149. label_5.setBounds(29, 498, 250, 14);
  150. frame.getContentPane().add(label_5);
  151.  
  152. JLabel label_6 = new JLabel("Soggetto: "+Main.textField_26.getText());
  153. label_6.setFont(new Font("Tahoma", Font.PLAIN, 12));
  154. label_6.setBounds(29, 523, 250, 14);
  155. frame.getContentPane().add(label_6);
  156.  
  157. JLabel label_7 = new JLabel("Cliente:");
  158. label_7.setFont(new Font("Tahoma", Font.PLAIN, 12));
  159. label_7.setBounds(29, 548, 250, 14);
  160. frame.getContentPane().add(label_7);
  161.  
  162. JLabel label_8 = new JLabel("Uscita: "+"N.: "+Main.textField_24.getText()+" del "+Main.textField_25.getText());
  163. label_8.setFont(new Font("Tahoma", Font.PLAIN, 12));
  164. label_8.setBounds(29, 573, 333, 14);
  165. frame.getContentPane().add(label_8);
  166.  
  167. JLabel lblD = new JLabel(Main.textField_23.getText());
  168. lblD.setBounds(252, 423, 27, 14);
  169. frame.getContentPane().add(lblD);
  170. qt = Double.parseDouble(lblD.getText());
  171.  
  172. JLabel lblD_1 = new JLabel(Main.textField_30.getText());
  173. lblD_1.setBounds(341, 423, 74, 14);
  174. frame.getContentPane().add(lblD_1);
  175.  
  176. num = Double.parseDouble(lblD_1.getText());
  177.  
  178. JLabel lblD_2 = new JLabel(Main.textField_31.getText());
  179. lblD_2.setBounds(450, 423, 80, 14);
  180. frame.getContentPane().add(lblD_2);
  181.  
  182. sconto = Double.parseDouble(lblD_2.getText());
  183.  
  184. JLabel label_12 = new JLabel(Main.textField_32.getText());
  185. label_12.setBounds(698, 423, 43, 14);
  186. frame.getContentPane().add(label_12);
  187.  
  188. importo = (qt*num)-((num*sconto)/100);
  189. JLabel label_3 = new JLabel(String.valueOf(importo));
  190. label_3.setBounds(589, 423, 74, 14);
  191. frame.getContentPane().add(label_3);
  192.  
  193. JLabel label_9 = new JLabel("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
  194. label_9.setFont(new Font("Tahoma", Font.PLAIN, 12));
  195. label_9.setBounds(29, 615, 728, 14);
  196. frame.getContentPane().add(label_9);
  197.  
  198. JLabel lblImponibile = new JLabel("IMPONIBILE");
  199. lblImponibile.setFont(new Font("Tahoma", Font.PLAIN, 12));
  200. lblImponibile.setBounds(86, 636, 122, 24);
  201. frame.getContentPane().add(lblImponibile);
  202.  
  203. JLabel label_11 = new JLabel("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
  204. label_11.setFont(new Font("Tahoma", Font.PLAIN, 12));
  205. label_11.setBounds(29, 660, 728, 14);
  206. frame.getContentPane().add(label_11);
  207.  
  208. JLabel lblAlIva = new JLabel("Al. Iva");
  209. lblAlIva.setFont(new Font("Tahoma", Font.PLAIN, 12));
  210. lblAlIva.setBounds(244, 636, 43, 24);
  211. frame.getContentPane().add(lblAlIva);
  212.  
  213. JLabel lblIva_1 = new JLabel("I.V.A.");
  214. lblIva_1.setFont(new Font("Tahoma", Font.PLAIN, 12));
  215. lblIva_1.setBounds(345, 636, 49, 24);
  216. frame.getContentPane().add(lblIva_1);
  217.  
  218. JLabel lblTotaleFattura = new JLabel("Totale Fattura");
  219. lblTotaleFattura.setFont(new Font("Tahoma", Font.PLAIN, 12));
  220. lblTotaleFattura.setBounds(589, 636, 152, 24);
  221. frame.getContentPane().add(lblTotaleFattura);
  222.  
  223. JLabel label_10 = new JLabel(Main.textField_30.getText());
  224. label_10.setFont(new Font("Tahoma", Font.PLAIN, 12));
  225. label_10.setBounds(87, 685, 74, 14);
  226. frame.getContentPane().add(label_10);
  227.  
  228. JLabel label_13 = new JLabel(Main.textField_32.getText());
  229. label_13.setFont(new Font("Tahoma", Font.PLAIN, 12));
  230. label_13.setHorizontalAlignment(SwingConstants.CENTER);
  231. label_13.setBounds(228, 685, 74, 14);
  232. frame.getContentPane().add(label_13);
  233.  
  234. double iva = (num*Double.parseDouble(Main.textField_32.getText()))/100;
  235. JLabel label_14 = new JLabel(String.valueOf(iva));
  236. label_14.setFont(new Font("Tahoma", Font.PLAIN, 12));
  237. label_14.setBounds(345, 685, 59, 14);
  238. frame.getContentPane().add(label_14);
  239.  
  240. JLabel label_15 = new JLabel("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
  241. label_15.setFont(new Font("Tahoma", Font.PLAIN, 12));
  242. label_15.setBounds(29, 737, 728, 14);
  243. frame.getContentPane().add(label_15);
  244.  
  245. JLabel label_16 = new JLabel(Main.textField_30.getText());
  246. label_16.setFont(new Font("Tahoma", Font.PLAIN, 12));
  247. label_16.setBounds(86, 754, 74, 14);
  248. frame.getContentPane().add(label_16);
  249.  
  250.  
  251. JLabel label_17 = new JLabel(String.valueOf(iva));
  252. label_17.setFont(new Font("Tahoma", Font.PLAIN, 12));
  253. label_17.setBounds(345, 754, 59, 14);
  254. frame.getContentPane().add(label_17);
  255.  
  256. double ivaa = importo+iva;
  257. JLabel label_18 = new JLabel(String.valueOf(ivaa));
  258. label_18.setFont(new Font("Tahoma", Font.PLAIN, 12));
  259. label_18.setBounds(633, 754, 59, 14);
  260. frame.getContentPane().add(label_18);
  261.  
  262. JLabel label_19 = new JLabel(Main.textField_29.getText());
  263. label_19.setFont(new Font("Tahoma", Font.PLAIN, 12));
  264. label_19.setBounds(469, 754, 87, 14);
  265. frame.getContentPane().add(label_19);
  266.  
  267. JLabel label_20 = new JLabel("Appoggio: BANCO BPM");
  268. label_20.setFont(new Font("Tahoma", Font.PLAIN, 12));
  269. label_20.setBounds(29, 779, 333, 14);
  270. frame.getContentPane().add(label_20);
  271.  
  272. JLabel lblAbicab = new JLabel("Abi/Cab: 0503434071");
  273. lblAbicab.setFont(new Font("Tahoma", Font.PLAIN, 12));
  274. lblAbicab.setBounds(507, 779, 239, 14);
  275. frame.getContentPane().add(lblAbicab);
  276.  
  277. JLabel lblBancarioCc = new JLabel("bancario c/c: 000000002741 CIN: X");
  278. lblBancarioCc.setFont(new Font("Tahoma", Font.PLAIN, 12));
  279. lblBancarioCc.setBounds(29, 799, 365, 14);
  280. frame.getContentPane().add(lblBancarioCc);
  281.  
  282. JLabel lblScadenze = new JLabel("Scadenze: "+dtf.format(localDate)+" "+ivaa);
  283. lblScadenze.setFont(new Font("Tahoma", Font.PLAIN, 12));
  284. lblScadenze.setBounds(29, 820, 712, 14);
  285. frame.getContentPane().add(lblScadenze);
  286.  
  287. JLabel lblNewLabel_7 = new JLabel("Articolo");
  288. lblNewLabel_7.setBounds(404, 640, 46, 14);
  289. frame.getContentPane().add(lblNewLabel_7);
  290.  
  291. JLabel lblNewLabel_8 = new JLabel(Main.tipoiva);
  292. lblNewLabel_8.setBounds(404, 685, 182, 14);
  293. frame.getContentPane().add(lblNewLabel_8);
  294.  
  295. frame.setVisible(true);
  296.  
  297. PrinterJob pjob = PrinterJob.getPrinterJob();
  298. PageFormat preformat = pjob.defaultPage();
  299. preformat.setOrientation(PageFormat.PORTRAIT);
  300. PageFormat postformat = pjob.pageDialog(preformat);
  301.  
  302. //If user does not hit cancel then print.
  303. if (preformat != postformat) {
  304. //Set print component
  305. pjob.setPrintable(new Printer(frame), postformat);
  306. if (pjob.printDialog()) {
  307. try {
  308. pjob.print();
  309.  
  310. } catch (PrinterException e) {
  311. // TODO Auto-generated catch block
  312. e.printStackTrace();
  313. }
  314. }
  315. }
  316.  
  317.  
  318. }
  319. public static class Printer implements Printable {
  320. final Component comp;
  321.  
  322. public Printer(Component comp){
  323. this.comp = comp;
  324. }
  325. @Override
  326. public int print(java.awt.Graphics g, PageFormat format, int page_index) throws PrinterException {
  327. if (page_index > 0) {
  328. return Printable.NO_SUCH_PAGE;
  329. }
  330.  
  331. // get the bounds of the component
  332. Dimension dim = comp.getSize();
  333. double cHeight = dim.getHeight();
  334. double cWidth = dim.getWidth();
  335.  
  336. // get the bounds of the printable area
  337. double pHeight = format.getImageableHeight();
  338. double pWidth = format.getImageableWidth();
  339.  
  340. double pXStart = format.getImageableX();
  341. double pYStart = format.getImageableY();
  342.  
  343. double xRatio = pWidth / cWidth;
  344. double yRatio = pHeight / cHeight;
  345.  
  346.  
  347. Graphics2D g2 = (Graphics2D) g;
  348. g2.translate(pXStart, pYStart);
  349. g2.scale(xRatio, yRatio);
  350. comp.paint(g2);
  351.  
  352. return Printable.PAGE_EXISTS;
  353. }
  354.  
  355.  
  356. }
  357. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement