United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6580930 Swing Popups should overlap taskbar
JDK-6580930 : Swing Popups should overlap taskbar

Details
Type:
Bug
Submit Date:
2007-07-16
Status:
Resolved
Updated Date:
2011-01-19
Project Name:
JDK
Resolved Date:
2007-09-12
Component:
client-libs
OS:
generic
Sub-Component:
javax.swing
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
In native applications for Windows, if a popup is big enough 
it can overlap the taskbar (see the image attached)
the same behaiviour can be seen for GTK on *nix

Swing doesn't allow popups to overlap taskbar
and it prevents Swing applications from looking native
and the most important it doesn't allow to implement
the JTrayIcon to use JPopupMenu together with awt.TrayIcon

Use the simple test to see that popup doesn't overlap taskbar:

import javax.swing.*;

public class PopupTest {

    private static void createGui() {
        final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPopupMenu menu = new JPopupMenu("Menu");
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));
        menu.add(new JMenuItem("MenuItem"));

        JPanel panel = new JPanel();
        panel.setComponentPopupMenu(menu);
        frame.add(panel);

        frame.setSize(200, 200);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) throws Exception {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                PopupTest.createGui();
            }
        });
    }
}

                                    

Comments
EVALUATION

We should enable heavyWeightPopup to overlap taskbar
                                     
2007-07-16



Hardware and Software, Engineered to Work Together