我想知道是否可以获取 JFrame 屏幕上的位置,并将相同的位置放入 JDialog 中。我的意思是,我想做的是,当我从 JFrame 按钮打开 JDialog 时,我想将 JDialog 放在与主 JFrame 相同的位置,也许使用 .setLocationRelativeto() 方法,有什么想法可以做到吗? ,谢谢!.
this.setUndecorated(true);
initComponents();
this.setBounds(WIDTH, WIDTH, 444, 308);
JDialog dialog=new JDialog();
我想采用与 mainJFrame 相同的位置,但我不知道如何做....
dialog.setLocationRelativeTo();
是否可以获取JFrame屏幕上位置的位置
ActionListener
中的代码类似于:
Component c = (Component)event.getSource();
Window window = SwingUtilities.windowForComponent(c);
JDialog dialog = new JDialog(...);
...
dialog.pack();
dialog.setLocation( window.getLocation() );
dialog.setVisible( rue ;
或者您可以使用以下方法将对话框置于框架中心:
dialog.setLocationRelativeTo( window );
dialog.setVisible( true );
编辑郑重声明,
JFrame
扩展了Window
,所以如果您已经有了JFrame
,那可能就足够了。