我有一个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
答案 0 :(得分:3)
是否有另一种方法可以在右键单击Jpanel时添加信息弹出窗口。
通常的方法是使用MouseListener并侦听鼠标右键,然后显示弹出窗口。 paintComponent()方法与显示弹出窗口无关,因为弹出窗口不是组件的一部分。
答案 1 :(得分:2)
每次绘制组件时都不应添加弹出窗口。