首页 > 解决方案 > 在 JFrame 中打开 JDialog 时背景变暗?

问题描述

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

标签: javaswingjframeopacityjdialog

解决方案


您可以通过将 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);
}

推荐阅读