如何确定用户显示的中点?

时间:2012-08-04 19:32:04

标签: java swing position

我写了一个Swing应用程序。我想将JFrame设置为在用户屏幕中居中。我可以使用以下方法将其设置为屏幕的大致中心位置:

JFrame frame = new JFrame("Test Frame");
Rectangle r = new Rectangle(600, 300, 400, 400);
frame.setBounds(r);

有没有办法定义Rectangle r,使其中心位于任何屏幕的中心?

setBounds()是否是动态改变帧位置的错误方法?

1 个答案:

答案 0 :(得分:4)

您想在屏幕中居中使用JFrame吗?如果是这样,那么在调用setLocationRelativeTo(null)后,只需在JFrame上调用pack()即可。如果你可以避免它,你真的不想设置JFrame的大小,而是让你的布局管理器为你做大小设置。 pack()方法将要求容器的布局管理器布置其组件并为其组件设置最佳大小。

修改
关于你的问题:

  

谢谢,这很棒。您有机会告诉我在docs.oracle

中可以找到方法详细信息的位置

由于可以在JFrame上调用此方法,只需转到JFrame API即可。如果这是父类的方法,API将告诉您并提供父类及其方法的链接。