JDialog应该附加到JFrame父级.然后对话框在任务栏中没有相应的按钮.所以,我建议创建一个JFrame实例但不要让它可见.在粘滞便笺示例中,每个注释窗口将具有相同的父级.
package com.thomaskuenneth;
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class DialogDemo {
public static void main(String[] args) {
JFrame parent = new JFrame();
JDialog d = new JDialog(parent, "Hello");
d.setBounds(50, 50, 200, 200);
d.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
d.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
d.setVisible(true);
}
}
请注意,我没有使用setUndecorated(true);能够响应关闭窗口.如果您有其他方法来响应此类请求,例如通过单击对话框内的按钮,您当然可以使用setUndecorated(true);.