如何设置“JOptionPane.showMessageDialog”的位置(How to set

2019-07-04 17:34发布

我要让JOptionPane.showMessageDialog消息出现

  • 在屏幕的任何地方。
  • 相对的JFrame。 (未在JFrame的中心)

例如,这将在作为参数提供JFrame的中心显示该消息thisFrame

 JOptionPane.showMessageDialog(thisFrame, "Your message.");

这将在屏幕不相关的中心到任何的JFrame显示该消息。

JOptionPane.showMessageDialog(null, "Your message.");
  • 我要的是设置邮件的位置,我想任何地方

  • 我要的是相对于该消息的位置设置到JFrame(不是在JFrame的中心)

怎么样?

Answer 1:

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;

public class CustomDialog extends JDialog {
    private JPanel myPanel = null;
    private JButton yesButton = null;
    private JButton noButton = null;

    public CustomDialog(JFrame frame, boolean modal, String myMessage) {
    super(frame, modal);
    myPanel = new JPanel();
    getContentPane().add(myPanel);
    myPanel.add(new JLabel(myMessage));
    yesButton = new JButton("Yes");
    myPanel.add(yesButton);
    noButton = new JButton("No");
    myPanel.add(noButton);
    pack();
    //setLocationRelativeTo(frame);
    setLocation(200, 200); // <--
    setVisible(true);
    }
}


Answer 2:

你需要的是

    final JOptionPane pane = new JOptionPane("Hello");
    final JDialog d = pane.createDialog((JFrame)null, "Title");
    d.setLocation(10,10);
    d.setVisible(true);


Answer 3:

试试这个

JOptionPane pane = new JOptionPane(arguments);
pane.setBounds(x, y,width, height);   
pane.setVisible(true);


文章来源: How to set the location of “JOptionPane.showMessageDialog”