在JFrame中打开JDialog时背景暗淡?

问题描述

有可能吗?我尝试设置Jframe的不透明度并设置背景,但没有成功。有什么简单而优雅的方法吗?

解决方法

您可以通过将JFrame的glassPane设置为具有半透明背景的可见JPanel来实现:

static void setDimmed(JFrame frame,boolean dimmed) {

    JComponent newGlassPane = new JPanel();
    if (dimmed) {
        newGlassPane.setBackground(new Color(0x80000000,true));
    }
    frame.setGlassPane(newGlassPane);
    newGlassPane.setVisible(dimmed);
}