package org.teachingextensions.approvals.lite.util; import javax.swing.*; import java.awt.*; import java.awt.event.WindowAdapter; public class WindowUtils { public static void centerWindow(java.awt.Window window) { Dimension d = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); Dimension w = window.getSize(); int dx = (int) w.getWidth(); int dy = (int) w.getHeight(); int x = (int) ((d.getWidth() - dx) / 2); int y = (int) ((d.getHeight() - dy) / 2); window.setBounds(x, y, dx, dy + 1); } public static void testFrame(JFrame frame) { testFrame(frame, true); } public static void copyToClipBoard(String code, boolean displayMessage) { java.awt.datatransfer.StringSelection selection = new java.awt.datatransfer.StringSelection(code); java.awt.Frame frame = new java.awt.Frame(); frame.getToolkit().getSystemClipboard().setContents(selection, selection); if (displayMessage) { JOptionPane.showMessageDialog(null, "Code copied to Clipboard", "Finished", JOptionPane.INFORMATION_MESSAGE); } frame.dispose(); } public static void testFrame(JFrame frame, boolean closeOnExit) { if (closeOnExit) { testFrame(frame, new FrameCloser()); } else { testFrame(frame); } } public static void testFrame(JFrame frame, WindowAdapter... array) { frame.pack(); for (WindowAdapter closer : array) { frame.addWindowListener(closer); } WindowUtils.centerWindow(frame); //frame.setVisible(true); } }