Fixed #123: Disable translucent when it is not supported

This commit is contained in:
huangyuhui 2017-02-27 12:41:22 +08:00
parent 0fc7eb6316
commit ea7eb72cce
3 changed files with 10 additions and 8 deletions

View File

@ -32,7 +32,7 @@ import javax.swing.SwingUtilities;
import javax.swing.plaf.basic.BasicComboPopup;
import org.jackhuang.hmcl.laf.scroll.BEScrollBarUI;
import org.jackhuang.hmcl.laf.utils.Icon9Factory;
import org.jackhuang.hmcl.laf.WindowTranslucencyHelper;
import org.jackhuang.hmcl.laf.utils.WindowTranslucencyHelper;
import org.jackhuang.hmcl.laf.widget.ImageBgPanel;
/**
@ -183,10 +183,12 @@ public class TranslucentPopupFactory extends PopupFactory {
//如果contents是BasicComboPopup或其子类那当前就应该是用于下拉框的弹出列表罗
boolean isComboBoxPopup = (contents instanceof BasicComboPopup);
//每像素透明
WindowTranslucencyHelper.setWindowOpaque(w, false);
//内容组件半透明
w.setOpacity(isTooltip ? 1.0f : isComboBoxPopup ? 0.95f : 0.95f);//0.85f : 0.95f);//0.8f : 0.95f);
if (WindowTranslucencyHelper.isTranslucencySupported()) {
//每像素透明
WindowTranslucencyHelper.setWindowOpaque(w, false);
//内容组件半透明
w.setOpacity(isTooltip ? 1.0f : isComboBoxPopup ? 0.95f : 0.95f);//0.85f : 0.95f);//0.8f : 0.95f);
}
// component.getContentPane().add(contents, BorderLayout.CENTER);
// contents.invalidate();

View File

@ -49,7 +49,7 @@ import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicRootPaneUI;
import org.jackhuang.hmcl.laf.BeautyEyeLNFHelper;
import org.jackhuang.hmcl.laf.WindowTranslucencyHelper;
import org.jackhuang.hmcl.laf.utils.WindowTranslucencyHelper;
/**
* 窗体的UI实现.
@ -315,7 +315,7 @@ public class BERootPaneUI extends BasicRootPaneUI {
//* 窗口透明了那么如果你的程序其它地方需要窗口透明的话自行.setWindowOpaque(..)
//* 就行了由开发者自先决定此处就不承载过多的要求了
if (!BeautyEyeLNFHelper.isFrameBorderOpaque()
&& window != null) {
&& window != null && WindowTranslucencyHelper.isTranslucencySupported()) {
//** 20111222 by jb2011让窗口全透明用以实现窗口的透明边框效果
// AWTUtilities.setWindowOpaque(window, false);
// TODO BUG1目前可知在jdk1.7.0_u6下JDialog的半透明边框的透明度比原设计深一倍

View File

@ -9,7 +9,7 @@
* WindowTranslucencyHelper.java at 2015-2-1 20:25:40, original version by Jack Jiang.
* You can contact author with jb2011@163.com.
*/
package org.jackhuang.hmcl.laf;
package org.jackhuang.hmcl.laf.utils;
import java.awt.Color;
import java.awt.GraphicsDevice;