Java – position in the lower right corner of the screen
•
Java
I need to put JFrame on the screen But I can't make them appear on the right side at the bottom of the screen
Please have someone explain how I locate them. It would be great if you could describe how to do it
This is the code so far
//Gets the screen size and positions the frame left bottom of the screen GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice defaultScreen = ge.getDefaultScreenDevice(); Rectangle rect = defaultScreen.getDefaultConfiguration().getBounds(); int x = (int)rect.getMinX(); int y = (int)rect.getMaxY()- frame.getHeight(); frame.setLocation(x,y - 45);
Solution
Try the following example Note 07000 "how to resize this window to fit the preferred size and layout of its subcomponents."
import java.awt.Dimension; import java.awt.EventQueue; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Rectangle; import javax.swing.JFrame; import javax.swing.JPanel; /** @see https://stackoverflow.com/q/9753722/230513 */ public class LowerRightFrame { private void display() { JFrame f = new JFrame("LowerRightFrame"); f.add(new JPanel() { @Override // placeholder for actual content 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 = (int) rect.getMaxY() - f.getHeight(); f.setLocation(x,y); f.setVisible(true); } public static void main(String[] args) { EventQueue.invokelater(new Runnable() { @Override public void run() { new LowerRightFrame().display(); } }); } }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码