1
我需要在窗口中設置組件的位置。 我需要在另一個被點擊的組件附近的GlassPane
上繪製組件。我傳遞組件,它將點擊事件引發給某位經理,在那裏我想獲得座標在哪裏繪畫。Java。搖擺。絕對位置
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);
}
}
新組件出現在錯誤的地方。我怎樣才能設置正確的位置?
您是否嘗試過使用每一個佈局管理器,並決定,沒有人可以做你想做什麼? –
好的,我必須在不同位置繪製自定義對話框(取決於調用者的當前位置)。我想不出合適的佈局管理器,它可以在與其他獨立容器中組件位置相連的容器中佈局。 –