如何在屏幕上获取JFrame位置以放入JDialog?

时间:2018-05-25 20:15:51

标签: java swing jframe jdialog

我想知道是否可以在JFrame的屏幕上获取位置的位置,以将相同的位置放在JDialog中。我的意思是,我想要做的是当我从JFrame按钮打开一个JDialog时,我想把JDialog放在与主JFrame相同的位置,也许用.setLocationRelativeto()方法,任何想法都可以做到? ,谢谢!。

   this.setUndecorated(true);
   initComponents();
   this.setBounds(WIDTH, WIDTH, 444, 308);
   JDialog dialog=new JDialog();

我想从mainJFrame中采用相同的位置,但我不知道该怎么做....

   dialog.setLocationRelativeTo();  

1 个答案:

答案 0 :(得分:1)

  

是否可以获取JFrame屏幕上位置的位置

ActionListener中的代码类似于:

Component c = event.getComponent();
Window window = SwingUtilities.windowForComponent(c);
JDialog dialog = new JDialog(...);
...
dialog.pack();
dialog.setLocation( window.getLocation() );
dialog.setVisible( rue ;

或者您可以使用以下方法将对话框置于框架中心:

dialog.setLocationRelativeTo( window );
dialog.setVisible( true );