import art.client.GUI.components.devices.window.colors.rtz.configuration.RTZ32_PanelConfiguration_Programs; import art.client.GUI.components.devices.window.colors.rtz.configuration.RTZ32_PanelConfiguration_Programs_Program; import art.client.GUI.components.devices.window.colors.rtz.configuration.components.Diagram_Distribution_Impulses; import art.library.gui.FlatGUI; import art.library.interop.serialization.Serialization; import art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller; import art.library.model.devices.colors.controller.RTZ32.types.RTZ32_Distribution; import java.awt.Dimension; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import javax.swing.JComponent; import javax.swing.JWindow; public class TestPrint { public static void main(String[] args) { try { FlatGUI.initialise(); String filename = "controller-zaragoza-9002_plan_18_emergencia.json"; // String filename = "controller-zaragoza-9002_plan_1_escamoteables.json"; RTZ32_Controller controller = (RTZ32_Controller)Serialization.deserialize(RTZ32_Controller.class, new File(filename)); // RTZ32_Distribution distribution = new RTZ32_Distribution(controller.getDeviceConfiguration().rtz32, 1); // Diagram_Distribution_Impulses diagram_Distribution_Impulses = new Diagram_Distribution_Impulses(controller.getDeviceConfiguration().rtz32, 1, distribution); // diagram_Distribution_Impulses.setSize(new Dimension(1920, 1080)); // diagram_Distribution_Impulses.reevaluate(); // // BufferedImage image = getImage(diagram_Distribution_Impulses.panel1, diagram_Distribution_Impulses.getWidth(), diagram_Distribution_Impulses.getHeight(), 0); // ByteArrayOutputStream bos = new ByteArrayOutputStream(); // ImageIO.write(image, "png", bos); // byte[] data = bos.toByteArray(); // bos.close(); // image.flush(); // image = null; // bos = null; // FileOutputStream fos = new FileOutputStream(System.currentTimeMillis() + "_impulses.png"); // fos.write(data); // fos.flush(); // fos.close(); // fos = null; RTZ32_PanelConfiguration_Programs panelConfiguration_Programs = new RTZ32_PanelConfiguration_Programs(controller.getDeviceConfiguration()); RTZ32_PanelConfiguration_Programs_Program panelConfiguration_Programs_Program = (RTZ32_PanelConfiguration_Programs_Program)panelConfiguration_Programs.panelSelected; panelConfiguration_Programs_Program.reload(); panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.reload(); panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.reevaluate(); Diagram_Distribution_Impulses diagram_Distribution_Impulses = panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Impulses; diagram_Distribution_Impulses.setSize(new Dimension(1920, 1080)); diagram_Distribution_Impulses.reevaluate(); BufferedImage image = getImage(diagram_Distribution_Impulses, diagram_Distribution_Impulses.getWidth(), diagram_Distribution_Impulses.getHeight(), 0); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(image, "png", bos); byte[] data = bos.toByteArray(); bos.close(); image.flush(); image = null; bos = null; FileOutputStream fos = new FileOutputStream(System.currentTimeMillis() + "_impulses.png"); fos.write(data); fos.flush(); fos.close(); fos = null; } catch (Exception e) { e.printStackTrace(); } } private static BufferedImage getImage(JComponent component, int width, int height, int sleep) { JWindow window = new JWindow(); try { window.setContentPane(component); window.setSize(new Dimension(width,height)); window.setLocation(-99999,-99999); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); window.setVisible(true); if (sleep > 0) { try { Thread.sleep(sleep); } catch (Exception e) { } } component.paint(image.getGraphics()); return image; } finally { window.setVisible(false); window.dispose(); } } } /* WindowRTZ32 window = new WindowRTZ32(controller); window.initialise(); window.setLocation(0, 0); window.setSize(1920, 1080); window.flatTabbedPane.setSelectedIndex(2); window.setVisible(true); RTZ32_ControllerConfiguration configuration = controller.getDeviceConfiguration(); RTZ32_Configuration_Program program = configuration.rtz32.programs[0]; RTZ32_PanelConfiguration_Programs panelConfiguration_Programs = new RTZ32_PanelConfiguration_Programs(configuration); RTZ32_PanelConfiguration_Programs_Program panelConfiguration_Programs_Program = (RTZ32_PanelConfiguration_Programs_Program)panelConfiguration_Programs.panelSelected; panelConfiguration_Programs_Program.reload(); panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.reload(); panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.reevaluate(); Diagram_Distribution_Bars diagram_bars = panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Bars; diagram_bars.setSize(new Dimension(1024, 768)); // diagram_bars.reevaluate(); diagram_bars.revalidate(); BufferedImage image = getImage(diagram_bars, diagram_bars.getWidth(), diagram_bars.getHeight(), 0); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageIO.write(image, "png", bos); byte[] data = bos.toByteArray(); bos.close(); image.flush(); image = null; bos = null; FileOutputStream fos = new FileOutputStream(System.currentTimeMillis() + "_bars.png"); fos.write(data); fos.flush(); fos.close(); fos = null; Diagram_Distribution diagram_distribution = panelConfiguration_Programs_Program.panelConfiguration_Programs_Program_Distribution.diagram_Distribution; diagram_distribution.setSize(new Dimension(1024, 768)); diagram_distribution.setLocation(0, 0); diagram_distribution.reevaluate(); diagram_distribution.revalidate(); diagram_distribution.repaint(); diagram_distribution.flatSplitPane1.expand(); BufferedImage image2 = getImage(diagram_distribution, diagram_distribution.getWidth(), diagram_distribution.getHeight(), 0); ByteArrayOutputStream bos2 = new ByteArrayOutputStream(); ImageIO.write(image2, "png", bos2); byte[] data2 = bos2.toByteArray(); bos2.close(); image2.flush(); image2 = null; bos2 = null; FileOutputStream fos2 = new FileOutputStream(System.currentTimeMillis() + "_distribution.png"); fos2.write(data2); fos2.flush(); fos2.close(); fos2 = null; */