mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-04-18 18:40:34 +08:00
Fixed #123: Disable translucent when it is not supported
This commit is contained in:
parent
0fc7eb6316
commit
ea7eb72cce
@ -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();
|
||||
|
@ -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 BUG:1)目前可知,在jdk1.7.0_u6下,JDialog的半透明边框的透明度比原设计深一倍
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user