Java Swing How to - Position JFrame to top-right of screen upon start








Question

We would like to know how to position JFrame to top-right of screen upon start.

Answer

import java.awt.Dimension;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
//from  ww w .j  a v  a2 s  . co m
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main {
  public static void main(String[] args) {
    JFrame f = new JFrame();
    f.add(new JPanel() {
      @Override
      public Dimension getPreferredSize() {
        return new Dimension(320, 240);
      }

    });
    f.pack();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice defaultScreen = ge.getDefaultScreenDevice();
    Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds();
    int x = (int) rect.getMaxX() - f.getWidth();
    int y = 0;
    f.setLocation(x, y);
    f.setVisible(true);

  }
}