Джава.Качели.Абсолютная позиция - PullRequest
1 голос
/ 05 декабря 2011

Мне нужно установить расположение компонента в окне. Мне нужно нарисовать компонент на GlassPane рядом с другим компонентом, по которому щелкнули. Я передаю компонент, который вызывает событие click, некоторому менеджеру, и там я хочу получить координаты, где рисовать.

public void mouseClicked(MouseEvent e) {
                ApplicationManager.getInstance().drawOnGlassPane((Component e.getSource());
            }

public void drawOnGlassPane(final Component caller) {

        mainFrame = (JFrame) SwingUtilities.getWindowAncestor(caller);
        JPanel glassPane = (JPanel) mainFrame.getGlassPane();
        glassPane.setVisible(true);

        Point where = caller.getLocationOnScreen();
        JButton btn = new JButton("on glass pane");
        btn.setBounds((int) where.getX(), (int) (where.getY() + caller.getHeight()), 50, 20);
        glassPane.add(btn);
    }
}

Новый компонент появляется не в том месте. Как я могу установить правильное местоположение?

1 Ответ

4 голосов
/ 05 декабря 2011

этот вопрос описан, включая пример из учебника о Как использовать корневые панели , другой пример здесь и здесь

...