private void setMiddle() { Point point = owner.getLocationOnScreen(); int x = point.x; int y = point.y; int width = (int) ((owner.getWidth() - this.getWidth()) / 2); int height = (int) ((owner.getHeight() - this.getHeight()) / 2); this.setLocation(x + width, y + height); }
public static void setFrameCenter(JFrame jf) { // ะะะพะป Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screen = toolkit.getScreenSize(); int x = (screen.width - jf.getWidth()) >> 1; int y = (screen.height - jf.getHeight() >> 1) - 32; jf.setLocation(x, y); }
// Paints JPanel in the center of the screen private void paintPanel() { // center the dialog panel1.setLocation( (screen.getWidth() - panel1.getWidth()) / 2, (screen.getHeight() - panel1.getHeight()) / 2); // add the dialog to the "modal dialog" layer of the // screen's layered pane. Container contentPane = screen.getContentPane(); contentPane.add(panel1); }
public static void main(String[] args) { JFrame frame = new JFrame("Exercise01"); JApplet applet = new Exercise01(); frame.add(applet); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(640, 480); frame.setMinimumSize(new Dimension(frame.getWidth(), frame.getHeight())); frame.setLocationRelativeTo(null); frame.setVisible(true); }
public void componentResized(ComponentEvent e) { Component c = e.getComponent(); if (c == mainFrame) { JFrame theMainFrame = (JFrame) c; // update the range of samples to visualize // // // // int newSampleCount = (int)Math.round((theMainFrame.getWidth() - frameWidth) * // samplePerPixel / 2); // // Selection currSel = zoomStack.get(zoomStack.size() - 1); // int newLeftSamples = Math.min(currSel.beginSelInSamples, newSampleCount); // int leftRemainder = newSampleCount - newLeftSamples; // int newRightSamples = Math.min(myHelper.getLengthInFrames() - currSel.endSelInSamples // +1 , newSampleCount); // int rightRemainder = newSampleCount - newRightSamples; // currSel.beginSelInSamples -= newLeftSamples; // currSel.endSelInSamples += newRightSamples; // // // if (leftRemainder > 0 && rightRemainder == 0) { // newRightSamples = Math.min(myHelper.getLengthInFrames() - currSel.endSelInSamples + // 1, leftRemainder); // currSel.endSelInSamples += newRightSamples; // } else if (leftRemainder == 0 && rightRemainder > 0) { // newLeftSamples = Math.min(currSel.beginSelInSamples, rightRemainder); // currSel.beginSelInSamples -= newLeftSamples; // } // // System.err.println(currSel.beginSelInSamples + " " + currSel.endSelInSamples); // selBeginSample = currSel.beginSelInSamples; // selEndSample = currSel.endSelInSamples; // update the visualization area frameHeight = theMainFrame.getHeight(); frameWidth = theMainFrame.getWidth(); // his.overViewHeight = frameHeight / 10; waveHeight = frameHeight - overViewHeight - controlHeight; controlLocY = waveHeight + overViewHeight; zoomThresh = frameWidth / 20; stemThresh = frameWidth / 8; wavePanel.setSize(frameWidth, waveHeight); controlPanel.setBounds(0, controlLocY, frameWidth, controlHeight); overViewPanel.setSize(frameWidth, overViewHeight); wavePanel.refresh( false); // just refresh the view. wait till user calls refresh explicitly to update data overViewPanel.refresh(); // samplePerPixel = (selEndSample - selBeginSample + 1) /frameWidth; mainFrame.validate(); } }
/** The main routine simply opens a window that shows a PaintWithOffScreenCanvas panel. */ public static void main(String[] args) { JFrame window = new JFrame("PaintWithOffScreenCanvas"); AdvancedGUIEX1 content = new AdvancedGUIEX1(); window.setContentPane(content); window.setJMenuBar(content.getMenuBar()); window.pack(); window.setResizable(false); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); window.setLocation( (screenSize.width - window.getWidth()) / 2, (screenSize.height - window.getHeight()) / 2); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); }
static void GoEnd(JFrame frame, int i) { Image background = new ImageIcon("image/final_" + i + ".png").getImage(); background = background.getScaledInstance(frame.getWidth(), frame.getHeight(), Image.SCALE_DEFAULT); JLabel back = new JLabel(); back.setBounds(0, 0, frame.getWidth(), frame.getHeight()); back.setIcon(new ImageIcon(background)); frame.add(back, 1); frame.validate(); frame.repaint(); if (i == 1) { // ็คๅฅฝ Talk.say("ไฝ ๆๅ็้้ไบ้ๅญธๆ", 1); Talk.say("้ๆฌก็ถ้ฉไน่ฎไฝ ๅฐๅญธ็ฟ็ข็ๆฟ็็่่ถฃ", 1); Talk.say("่ฎไฝ ๅคงๅๆ็บไบ็ฅ๏ผ้ฒ่้ ๅฉ็ขๆฅญ", 1); } else if (i == 2) { // ็ณป้คจ Talk.say("็ถ็ฑไฝ ็ๆ่ด", 1); Talk.say("่ณ่จ็ณป้ๆผธ่ชๆไธๅๆ กๅ", 1); Talk.say("่ๅจๅ็ณป้คจไธญๅบญๆบๆพไบไธๅๅๅๆพๅคง็้ ๅ", 1); Talk.say("็จไพ็ดๅฟต่ณ่จ็ณปๅๅบๆ กๅโๅคงๆฉ็ขฉๅ", 1); } else if (i == 3) { // ๅบๅ Talk.say("ไฝ ๆพๆฃไบๅญธๆฅญ๏ผ่ธไธไบๆก็ๅๆไน่ทฏ", 1); Talk.say("้ไบ้ๆฌๅ ญๅฐ", 1); Talk.say("็ตๆผๆ็บไบไธ็ๆก็็", 1); } else if (i == 4) { // 0ๅ game over Talk.say("่ผ่ผ็ๆ่ตฐไบ", 1); Talk.say("ๆญฃๅฆๆ่ผ่ผๅฐไพ", 1); Talk.say("ๆๆฎไธๆฎ่กฃ่ข", 1); Talk.say("ไธๅธถ่ตฐไปปไฝๅญธๅ", 1); } else if (i == 5) { // final Talk.say("ไฝ ๅฎๆไบfinal project", 1); Talk.say("่ทๅ ถไปๅๅญธไธ่ตท้ไบOOP", 1); Talk.say("ไธ้ๅคงๅ้ๆๆดๅด่็ๆๆฐๅจ็ญ่ไฝ ", 1); Talk.say("ๅๅญธ๏ผๅ ๆฒนๅง๏ผ", 1); } }
private static void createAndShowGUI() { // create and setup the window frame = new JFrame("Morph"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JComponent newContentPane = new Morph(); newContentPane.setOpaque(true); // content panes must be opaque frame.setContentPane(newContentPane); // display the window. frame.pack(); Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); frame.setLocation( (screenSize.width - frame.getWidth()) / 2, (screenSize.height - frame.getHeight()) / 2); frame.setVisible(true); }
public static void main(String args[]) { Component comp = new Component(); System.out.println("Mineblock Development Console: "); System.out.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"); System.out.println("Current Version: " + versionNumber); frame = new JFrame(); frame.add(comp); frame.pack(); realSize = new Dimension(frame.getWidth(), frame.getHeight()); frame.setTitle(name + versionNumber); frame.setResizable(true); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); comp.start(); }
public acceuil() { f = new JFrame("Espace Liaison FTTx"); f.setSize(700, 700); c = f.getContentPane(); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); f.setLocation(dim.width / 2 - f.getWidth() / 2, dim.height / 2 - f.getHeight() / 2); progressbar1 = new JProgressBar(); progressbar1.setMinimum(1); progressbar1.setMaximum(100); ImageIcon icon = new ImageIcon(".\\src\\images\\icon.png"); ImageIcon iconc = new ImageIcon(".\\src\\images\\iconc.png"); b1 = new JButton(icon); b2 = new JButton(iconc); p1 = new JPanel(new BorderLayout()); p2 = new JPanel(new BorderLayout()); p3 = new JPanel(); lhaut = new JLabel(new ImageIcon(".\\src\\images\\telecom.jpg")); p1.add(lhaut, BorderLayout.NORTH); p2.add(progressbar1, BorderLayout.NORTH); p3.add(b2); p3.add(b1); p2.add(p3, BorderLayout.CENTER); p1.add(p2, BorderLayout.CENTER); c.add(p1); b1.addActionListener(this); b2.addActionListener(this); b1.setEnabled(false); b2.setEnabled(false); f.setResizable(false); f.setVisible(true); f.pack(); progress(); b1.setEnabled(true); b2.setEnabled(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
/** * @param filenames * @exception Exception if internal error */ public ChestImageViewer(String filenames[]) throws Exception { DisplayDeviceArea[] displayDeviceAreas = getPresentationAndImageDeviceAreas(); if (displayDeviceAreas == null) { System.err.println("Cannot determine device display areas"); } else { System.err.println("Found " + displayDeviceAreas.length + " device display areas"); for (int i = 0; i < displayDeviceAreas.length; ++i) { System.err.println("[" + i + "] = " + displayDeviceAreas[i]); displayDeviceAreas[i].getFrame().setBackground(Color.black); displayDeviceAreas[i].getFrame().setVisible(true); } { // Need to actually add something to the unused left display frame, else background will not // be set to black on Windows JPanel backgroundPanel = new JPanel(); backgroundPanel.setBackground(Color.black); displayDeviceAreas[0].getFrame().getContentPane().add(backgroundPanel); displayDeviceAreas[0].getFrame().validate(); } frame = displayDeviceAreas[1].getFrame(); Container content = frame.getContentPane(); content.setLayout(new GridLayout(1, 1)); multiPanel = new JPanel(); // multiPanel.setBackground(Color.black); frameWidth = (int) frame.getWidth(); frameHeight = (int) frame.getHeight(); Dimension d = new Dimension(frameWidth, frameHeight); // multiPanel.setSize(d); multiPanel.setPreferredSize(d); multiPanel.setBackground(Color.black); content.add(multiPanel); // frame.pack(); content.validate(); loadMultiPanelFromSpecifiedFiles(filenames); } }
// --------------------------------initGUI------------------------------------ public void initGUI() { bDeployed = bOpponentDeployed = false; listAT = new LinkedList(); frame.setJMenuBar(new GameMenuBar(this)); panParty = new PartyPanel(200, 480); panStatus = new JPanel(null); oMap = new Map(600, 350); panChat = new ChatPanel(600, 200); Container contentPane = frame.getContentPane(); panParty.setOpaque(true); panStatus.setOpaque(true); panChat.setOpaque(true); panStatus.setPreferredSize(new Dimension(200, 70)); contentPane.add(panStatus); contentPane.add(panParty); contentPane.add(oMap); contentPane.add(panChat); SpringLayout oLayout = new SpringLayout(); contentPane.setLayout(oLayout); oLayout.putConstraint(SpringLayout.WEST, panParty, 0, SpringLayout.WEST, contentPane); oLayout.putConstraint(SpringLayout.NORTH, panParty, 0, SpringLayout.NORTH, contentPane); oLayout.putConstraint(SpringLayout.WEST, panStatus, 0, SpringLayout.WEST, contentPane); oLayout.putConstraint(SpringLayout.SOUTH, panStatus, 0, SpringLayout.SOUTH, contentPane); oLayout.putConstraint(SpringLayout.EAST, oMap, 0, SpringLayout.EAST, contentPane); oLayout.putConstraint(SpringLayout.NORTH, oMap, 0, SpringLayout.NORTH, contentPane); oLayout.putConstraint(SpringLayout.WEST, panChat, 0, SpringLayout.EAST, panStatus); oLayout.putConstraint(SpringLayout.NORTH, panChat, 0, SpringLayout.SOUTH, oMap); oLayout.putConstraint(SpringLayout.EAST, contentPane, 0, SpringLayout.EAST, panChat); oLayout.putConstraint(SpringLayout.SOUTH, contentPane, 0, SpringLayout.SOUTH, panChat); panChat.validate(); panChat.setVisible(true); Insets oInsets = panStatus.getInsets(); int nX = oInsets.left + 5; int nY = oInsets.top + 5; lblStatus1 = new JLabel("Not Connected..."); lblStatus2 = new JLabel("No Party Formed..."); lblStatus3 = new JLabel(); Dimension oSize = lblStatus1.getPreferredSize(); lblStatus1.setBounds(nX, nY, 180, oSize.height); nY += oSize.height + 7; lblStatus2.setBounds(nX, nY, 180, oSize.height); nY += oSize.height + 7; lblStatus3.setBounds(nX, nY, 180, oSize.height); panStatus.add(lblStatus1); panStatus.add(lblStatus2); panStatus.add(lblStatus3); frame.pack(); frame.setResizable(false); frame.setLocation( ((scrBounds.x + scrBounds.width - frame.getWidth()) / 2), ((scrBounds.y + scrBounds.height - frame.getHeight()) / 2)); oMap.addKeyListener(oMap); oMap.setButtonEvents(this); }
static String[] input(int d, int m, int y) { // input frame for schedule String[] out = new String[4]; // appointment info storage final String[] doctors = {"Dr. Whitehead", "Dr. Namie", "Dr. Liddell"}; final JFrame input = new JFrame("Make Appointment"); Container pane1; JPanel pan = new JPanel(null); JLabel doctor = new JLabel("Choose your Doctor:"); JLabel da = new JLabel("Date:"); /*JLabel day=new JLabel(Integer.toString(d)); JLabel mo=new JLabel("Month:"); JLabel month=new JLabel(Integer.toString(m)); JLabel ye=new JLabel("Year:"); JLabel year=new JLabel(Integer.toString(y));*/ JLabel time = new JLabel("Appointment Time:"); JButton submit = new JButton("Submit"); docName = new JComboBox(doctors); JSpinner timeSpinner = new JSpinner(new SpinnerDateModel()); JSpinner.DateEditor timeEditor = new JSpinner.DateEditor(timeSpinner, "hh:mm a"); timeSpinner.setEditor(timeEditor); timeSpinner.setValue(new Date()); JSpinner dateSpinner = new JSpinner(new SpinnerDateModel()); JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(dateSpinner, "MMM/dd/yyyy"); dateSpinner.setEditor(dateEditor); dateSpinner.setValue(new Date()); input.setSize(330, 375); // Set size to 400x400 pixels pane1 = input.getContentPane(); pane1.setLayout(null); // Apply null layout pan.setLayout(new GridLayout(4, 2, 20, 50)); pane1.setSize((int) (input.getHeight() / 2), (int) (input.getWidth() / 2)); pane1.setLocation( input.getHeight() - ((int) (input.getHeight() / 2)), input.getWidth() - ((int) (input.getWidth() / 2))); // trying to center failed input.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // Close when X is clicked pane1.add(pan); // pan.add(ye); // pan.add(year); pan.add(da); pan.add(dateSpinner); pan.add(time); pan.add(timeSpinner); pan.add(doctor); pan.add(docName); pan.add(submit); submit.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { fmain.setVisible(true); input.setVisible(false); } }); pan.setBounds(0, 0, 320, 335); input.setResizable(false); input.setVisible(true); return out; }
/** * Inizialize frame components * * @throws CMSException * @throws FileNotFoundException * @throws IOException * @throws GeneralSecurityException */ private void initComponents() throws CMSException, FileNotFoundException, IOException, GeneralSecurityException { // ********************************* panel4 = new JPanel(); label2 = new JLabel(); textPane1 = new JTextPane(); panel5 = new JPanel(); textArea1 = new JTextArea(); textArea2 = new JTextArea(); progressBar = new JProgressBar(); textPane2 = new JTextPane(); textField1 = new JTextField(); button1 = new JButton(); panel6 = new JPanel(); button2 = new JButton(); button3 = new JButton(); button4 = new JButton(); GridBagConstraints gbc; // ======== this ======== Container contentPane = getContentPane(); contentPane.setLayout(new GridBagLayout()); ((GridBagLayout) contentPane.getLayout()).columnWidths = new int[] {165, 0, 0}; ((GridBagLayout) contentPane.getLayout()).rowHeights = new int[] {105, 50, 0}; ((GridBagLayout) contentPane.getLayout()).columnWeights = new double[] {0.0, 1.0, 1.0E-4}; ((GridBagLayout) contentPane.getLayout()).rowWeights = new double[] {1.0, 0.0, 1.0E-4}; // ======== panel4 ======== { panel4.setBackground(Color.white); panel4.setLayout(new GridBagLayout()); ((GridBagLayout) panel4.getLayout()).columnWidths = new int[] {160, 0}; ((GridBagLayout) panel4.getLayout()).rowHeights = new int[] {0, 0, 0}; ((GridBagLayout) panel4.getLayout()).columnWeights = new double[] {0.0, 1.0E-4}; ((GridBagLayout) panel4.getLayout()).rowWeights = new double[] {1.0, 1.0, 1.0E-4}; // ---- label2 ---- label2.setIcon( new ImageIcon( "images" + System.getProperty("file.separator") + "logo-freesigner-piccolo.png")); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.insets.bottom = 5; panel4.add(label2, gbc); // ---- textPane1 ---- textPane1.setFont(new Font("Verdana", Font.BOLD, 12)); textPane1.setText("Lettura\ncertificati\nda token"); textPane1.setEditable(false); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.anchor = GridBagConstraints.NORTHWEST; panel4.add(textPane1, gbc); } gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.fill = GridBagConstraints.BOTH; gbc.insets.bottom = 5; gbc.insets.right = 5; contentPane.add(panel4, gbc); // ======== panel5 ======== { panel5.setBackground(Color.white); panel5.setLayout(new GridBagLayout()); ((GridBagLayout) panel5.getLayout()).columnWidths = new int[] {0, 205, 0, 0}; ((GridBagLayout) panel5.getLayout()).rowHeights = new int[] {100, 0, 30, 30, 0}; ((GridBagLayout) panel5.getLayout()).columnWeights = new double[] {1.0, 0.0, 1.0, 1.0E-4}; ((GridBagLayout) panel5.getLayout()).rowWeights = new double[] {0.0, 0.0, 1.0, 1.0, 1.0E-4}; // ---- textArea1 ---- textArea1.setFont(new Font("Verdana", Font.BOLD, 14)); textArea1.setText("Lettura certificati da token"); textArea1.setEditable(false); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 3; gbc.fill = GridBagConstraints.VERTICAL; gbc.insets.bottom = 5; panel5.add(textArea1, gbc); // ---- textArea2 ---- textArea2.setFont(new Font("Verdana", Font.PLAIN, 12)); textArea2.setText("Ricerca certificati...\n"); textArea2.setEditable(false); textArea2.setColumns(30); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; gbc.gridwidth = 3; gbc.fill = GridBagConstraints.BOTH; panel5.add(textArea2, gbc); progressBar.setValue(0); progressBar.setMaximum(1); progressBar.setStringPainted(true); progressBar.setBounds(0, 0, 300, 150); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 2; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.insets.bottom = 5; gbc.insets.right = 5; gbc.gridwidth = 3; panel5.add(progressBar, gbc); } gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 0; gbc.fill = GridBagConstraints.BOTH; gbc.insets.bottom = 5; contentPane.add(panel5, gbc); // ======== panel6 ======== { panel6.setBackground(Color.white); panel6.setLayout(new GridBagLayout()); ((GridBagLayout) panel6.getLayout()).columnWidths = new int[] {0, 0, 0, 0}; ((GridBagLayout) panel6.getLayout()).rowHeights = new int[] {0, 0}; ((GridBagLayout) panel6.getLayout()).columnWeights = new double[] {1.0, 1.0, 1.0, 1.0E-4}; ((GridBagLayout) panel6.getLayout()).rowWeights = new double[] {1.0, 1.0E-4}; // ---- button2 ---- button2.setText("Indietro"); gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; gbc.insets.right = 5; button2.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { frame.hide(); FreeSignerSignApplet nuovo = new FreeSignerSignApplet(); } }); // panel6.add(button2, gbc); // ---- button4 ---- button4.setText("Annulla"); gbc = new GridBagConstraints(); gbc.gridx = 2; gbc.gridy = 0; // panel6.add(button4, gbc); } gbc = new GridBagConstraints(); gbc.gridx = 1; gbc.gridy = 1; gbc.fill = GridBagConstraints.BOTH; contentPane.add(panel6, gbc); contentPane.setBackground(Color.white); frame = new JFrame(); frame.setContentPane(contentPane); frame.setTitle("Freesigner"); frame.setSize(300, 150); frame.setResizable(false); frame.pack(); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation((d.width - frame.getWidth()) / 2, (d.height - frame.getHeight()) / 2); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); timer = new Timer( 10, new ActionListener() { public void actionPerformed(ActionEvent evt) { frame.show(); if (task.getMessage() != null) { String s = new String(); s = task.getMessage(); s = s.substring(0, Math.min(60, s.length())); textArea2.setText(s + " "); progressBar.setValue(task.getStatus()); } if (task.isDone()) { timer.stop(); // Finalizzo la cryptoki, onde evitare // successivi errori PKCS11 "cryptoki alreadi initialized" if ((task != null)) task.libFinalize(); ArrayList slotInfos = task.getSlotInfos(); if ((slotInfos == null) || slotInfos.isEmpty()) { frame.show(); JOptionPane.showMessageDialog( frame, "Controllare la presenza sul sistema\n" + "della libreria PKCS11 impostata.", "Nessun lettore rilevato", JOptionPane.WARNING_MESSAGE); frame.hide(); } else { String st = task.getCRLerror(); if (st.length() > 0) { timer.stop(); JOptionPane.showMessageDialog( frame, "C'รจ stato un errore nella verifica CRL.\n" + st, "Errore verifica CRL", JOptionPane.ERROR_MESSAGE); frame.hide(); FreeSignerSignApplet nuovo = new FreeSignerSignApplet(); } if (task.getDifferentCerts() == 0) { if (task.getCIr() != null) { JOptionPane.showMessageDialog( frame, "La carta " + task.getCardDescription() + " nel lettore " + conf.getReader() + " non contiene certificati", "Attenzione", JOptionPane.WARNING_MESSAGE); } else JOptionPane.showMessageDialog( frame, task.getMessage(), "Errore:", JOptionPane.ERROR_MESSAGE); } frame.hide(); // confFrame.createTreeAndTokenNodes(task.getSlotInfos()); } } } }); }
public static void main(String[] args) throws Exception { if (!OS.contains("mac")) { System.out.println("The test is applicable only to Mac OS X. Passed"); return; } // Move the mouse out, because it could interfere with the test. Robot r = Util.createRobot(); Util.waitForIdle(r); r.mouseMove(0, 0); Util.waitForIdle(r); SwingUtilities.invokeAndWait( new Runnable() { @Override public void run() { createAndShowGUI(); } }); // Move the mouse away from the frame and check the View-base full screen mode Util.waitForIdle(r); r.mouseMove(500, 500); Util.waitForIdle(r); mouseEnterCount = 0; SwingUtilities.invokeAndWait( new Runnable() { @Override public void run() { GraphicsEnvironment.getLocalGraphicsEnvironment() .getDefaultScreenDevice() .setFullScreenWindow(frame); } }); Util.waitForIdle(r); if (mouseEnterCount != 1) { throw new RuntimeException("No MouseEntered event for view-base full screen. Failed."); } SwingUtilities.invokeAndWait( new Runnable() { @Override public void run() { GraphicsEnvironment.getLocalGraphicsEnvironment() .getDefaultScreenDevice() .setFullScreenWindow(null); } }); // Test native full screen support Util.waitForIdle(r); Point fullScreenButtonPos = frame.getLocation(); fullScreenButtonPos.translate(frame.getWidth() - 10, 10); r.mouseMove(fullScreenButtonPos.x, fullScreenButtonPos.y); mouseEnterCount = 0; // Cant use waitForIdle for full screen transition. int waitCount = 0; while (!windowEnteringFullScreen) { r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); Thread.sleep(100); if (waitCount++ > 10) throw new RuntimeException("Can't enter full screen mode. Failed"); } waitCount = 0; while (!windowEnteredFullScreen) { Thread.sleep(200); if (waitCount++ > 10) throw new RuntimeException("Can't enter full screen mode. Failed"); } if (mouseEnterCount != 1) { throw new RuntimeException("No MouseEntered event for native full screen. Failed."); } }
@Override public void notify(String summary, String body, File imageFile) { frame = new JFrame(); frame.setSize(300, 125); frame.setUndecorated(true); Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize(); // size of the screen Insets toolHeight = Toolkit.getDefaultToolkit() .getScreenInsets(frame.getGraphicsConfiguration()); // height of the task bar frame.setLocation(scrSize.width - frame.getWidth(), toolHeight.top + toolHeight.bottom); frame.setLayout(new GridBagLayout()); GridBagConstraints constraints = new GridBagConstraints(); constraints.gridx = 0; constraints.gridy = 0; constraints.weightx = 1.0f; constraints.weighty = 1.0f; constraints.insets = new Insets(5, 5, 5, 5); constraints.fill = GridBagConstraints.BOTH; JLabel headingLabel = new JLabel(summary); if (imageFile != null) { Icon headingIcon = new ImageIcon(imageFile.getPath()); headingLabel.setIcon(headingIcon); // --- use image icon you want to be as heading image. } headingLabel.setOpaque(false); frame.add(headingLabel, constraints); constraints.gridx++; constraints.weightx = 0f; constraints.weighty = 0f; constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.NORTH; JButton cloesButton = new JButton( new AbstractAction("X") { @Override public void actionPerformed(final ActionEvent e) { frame.dispose(); } }); cloesButton.setMargin(new Insets(1, 4, 1, 4)); cloesButton.setFocusable(false); frame.add(cloesButton, constraints); constraints.gridx = 0; constraints.gridy++; constraints.weightx = 1.0f; constraints.weighty = 1.0f; constraints.insets = new Insets(5, 5, 5, 5); constraints.fill = GridBagConstraints.BOTH; JLabel messageLabel = new JLabel("<HtMl>" + body); frame.add(messageLabel, constraints); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setVisible(true); frame.setAlwaysOnTop(true); new Thread() { @Override public void run() { try { Thread.sleep(3500); // time after which pop up will be disappeared. frame.dispose(); } catch (InterruptedException e) { System.err.println(e.getMessage()); } }; }.start(); }
@Override public int getWidth() { return _frame.getWidth(); }
public boolean isCompletelyOnScreen() { Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); return jFrame.getX() + jFrame.getWidth() < dim.getWidth() && jFrame.getY() + jFrame.getHeight() < dim.getHeight(); }