Java popup,Jpanel和PopupFactory - 更新x和y坐标

时间:2010-12-03 13:02:14

标签: java swing

我有一个Jpanel,我想在右键单击时添加一个信息弹出窗口。因此,弹出窗口的坐标可以改变。但是,当我在paintComponent方法中添加弹出窗口时,应用程序会大大减慢。

我使用以下代码从paintComponent中的popupFactory获取弹出窗口的实例:

public void paintComponent(java.awt.Graphics g) {
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;

if(Show){
    popup = factory.getPopup(this, l, mouseX, mouseY); 
    popup.show();
}

l是一个简单的JLabel。 是否有另一种方法可以在右键单击Jpanel时添加信息弹出窗口。

干杯,

Slotishtype

2 个答案:

答案 0 :(得分:3)

  

是否有另一种方法可以在右键单击Jpanel时添加信息弹出窗口。

通常的方法是使用MouseListener并侦听鼠标右键,然后显示弹出窗口。 paintComponent()方法与显示弹出窗口无关,因为弹出窗口不是组件的一部分。

答案 1 :(得分:2)

每次绘制组件时都不应添加弹出窗口。