代码很简答,为什么pMenu弹出后不能消失,除非关闭程序,有什么办法在pMenu以外的任何地方点击鼠标都消失呢
private JPopupMenu pMenu;
private JMenuItem mSelectAll;
private JMenuItem mCopy;
private JMenuItem mCut; private JMenuItem mSelectAll;
private JMenuItem mCopy;
private JMenuItem mCut; mSelectAll.addMouseMotionListener(this);
mCopy.addMouseMotionListener(this);
mCut.addMouseMotionListener(this);
mSelectAll.addActionListener(this);
mCopy.addActionListener(this);
mCut.addActionListener(this); pMenu.add(mSelectAll);
pMenu.add(mCopy);
pMenu.add(mCut);
pMenu.setLocation(p);
pMenu.setVisible(true);
pMenu.requestFocus();弹出菜单 消失java弹出菜单
private JPopupMenu pMenu;
private JMenuItem mSelectAll;
private JMenuItem mCopy;
private JMenuItem mCut; private JMenuItem mSelectAll;
private JMenuItem mCopy;
private JMenuItem mCut; mSelectAll.addMouseMotionListener(this);
mCopy.addMouseMotionListener(this);
mCut.addMouseMotionListener(this);
mSelectAll.addActionListener(this);
mCopy.addActionListener(this);
mCut.addActionListener(this); pMenu.add(mSelectAll);
pMenu.add(mCopy);
pMenu.add(mCut);
pMenu.setLocation(p);
pMenu.setVisible(true);
pMenu.requestFocus();弹出菜单 消失java弹出菜单
解决方案 »
- ORACLE 用DELETE删除数据
- 界面设计问题--空间定位
- 正则表达式的问题
- 刚刚看了关于JAVA的一本书,遇到点问题,请教!!!
- 编译时classpath问题,莫名其妙,在线等
- 小弟急需要一个J简单的ava编的带图形接口的文字类冒险游戏,那位大侠能帮帮忙,或者给些网上的例子也行啊
- 有个关于取子串的问题……
- 大家有没有注意到在java中23/12结果是多少呢?
- 当ResultSet执行SQL成功后,我如何取得ResultSet的记录部条数
- 平常执行java写的程序太不方便,有什么好方法?
- 用soap访问WebService 遇到问题
- JAVA命令执行java -cp后出现的问题,为什么不能执行成功?
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
* http://bbs.csdn.net/topics/390340915
*
* @author ceclinux
*
*/
public class MouseExitExample extends JFrame {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MouseExitExample();
}
public MouseExitExample() {
setVisible(true);
setSize(300,300);
JButton jb=new JButton("dfsafs");
jb.setSize(200,200);
add(jb,BorderLayout.EAST);
final JTextField tf = new JTextField();
tf.setSize(200,200);
tf.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("a");
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
});
add(tf);
}
}
如果没理解错的话,重写MouseListener的mouseExit方法即可,示例如上