我的问题类似于这个问题,但我认为有一个更简单的例子。
基本上,通过调用
这里有一个正在发生的情况的图片: 有趣的是,每当我点击JFrame的右侧时就会出现这种情况。不确定为什么。 请注意,我不确定
编辑:如
基本上,通过调用
AWTUtilities.setWindowOpaque(window, false)
使JFrame的背景透明,我的JPopupMenu有时会显示为空白。public class JavaApplication8 {
JPopupMenu popup;
JMenuItem open;
JLabel bgLabel = new JLabel("testing");
public static void main(String[] args) {
// TODO code application logic here
JFrame window = new JFrame("test");
URL bgURL = JavaApplication8.class.getResource("images/bg.jpg");
ImageIcon bg = new ImageIcon(bgURL);
JavaApplication8 test = new JavaApplication8();
test.setPopupMenu();
test.bgLabel.setIcon(bg);
window.add(test.bgLabel, BorderLayout.CENTER);
window.setUndecorated(true);
AWTUtilities.setWindowOpaque(window, false);
//window.pack();
window.setSize(200, 200);
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.setLocationRelativeTo(null);
window.setVisible(true);
}
public void setPopupMenu(){
popup = new JPopupMenu();
open = new JMenuItem("Test");
popup.add(open);
this.bgLabel.setComponentPopupMenu(popup);
}
}
这里有一个正在发生的情况的图片: 有趣的是,每当我点击JFrame的右侧时就会出现这种情况。不确定为什么。 请注意,我不确定
AWTUtilities.setWindowOpaque(window, false)
是否是此问题的原因,但是每当我删除该行代码时,一切似乎都正常。编辑:如
camickr
所述,“看起来这是由于弹出菜单没有完全包含在父窗口的边界内。”