我想自定义外观,JPopupMenu
因此我创建了一个自定义类,扩展了JPopupMenu类,从而覆盖了该paintComponent
方法,就像我对需要自定义的任何组件所做的那样。
public class CustomPopupMenu extends JPopupMenu {
@Override
public paintComponent(Graphics g) {
//custom draw
}
}
我唯一正确知道的问题是我无法JPopupMenu
透明。我虽然setOpaque(false)
足够,但我错了。
我该如何做JPopupMenu
透明的?
弹出菜单的问题在于它可能被实现为顶级容器(Window),并且窗口是不透明的,无论您用setOpaque()设置了什么值(不透明)。但是窗口也可以做成半透明的。
您可以通过强制使用重量级弹出窗口并残酷地更改其不透明度来 破解 它。尝试以下作为实验(Java7)的基础:
import java.awt.Window;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
public class TranslucentPopup extends JPopupMenu {
{
// need to disable that to work
setLightWeightPopupEnabled(false);
}
@Override
public void setVisible(boolean visible) {
if (visible == isVisible())
return;
super.setVisible(visible);
if (visible) {
// attempt to set tranparency
try {
Window w = SwingUtilities.getWindowAncestor(this);
w.setOpacity(0.667F);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
请注意,它 不会 使半菜单透明!
问题内容: 如何使JFrame透明?我想使我的JFrame透明。当我的JFrame位于顶部时,用户应该会看到背景。 问题答案: 如果您对使用受限的API类没有异议,则可以使用该类的类和方法来实现。这里和这里是有关如何使用它的教程?而这里是使用Java本地接入的版本。 代码示例
介绍 (Introduction) 弹出菜单表示一个菜单,可以在组件内的指定位置动态弹出。 Class 声明 (Class Declaration) 以下是javax.swing.JPopupMenu类的声明 - public class JPopupMenu extends JComponent implements Accessible, MenuElement 类构造函数
主要内容:1 Java JPopupMenu的介绍,2 Java JPopupMenu的声明,3 Java JPopupMenu的构造方法,4 Java JPopupMenu的案例1,5 Java JPopupMenu的案例21 Java JPopupMenu的介绍 PopupMenu可以在组件内的特定位置动态弹出。它继承了JComponent类。 2 Java JPopupMenu的声明 我们来看一下javax.swing.JPopupMenu类的声明。 3 Java JPopupMenu的构
我遇到了让情节本身透明的方法,但是我如何让背景透明呢?没有Qt有办法做到这一点吗?我希望情节在背景窗口上,例如,假设我正在运行Chrome,我希望情节在chrome窗口上,其内容可见。
在iOS 7上,将UISearchBar设置为半透明并不会使搜索栏半透明。有什么我不明白的吗?我正在将它添加到UIViewController,它是UINavigationController的一部分。有一个与顶部布局指南对齐的UITableView。导航栏很好,半透明,但由于某些原因,搜索栏是纯色的。
有人知道如何使用React Native使Android状态栏透明吗? 不透明,透明。 我也在使用react导航。